2013-12-06 3 views
0

Я следую первому ответу, указанному здесь (Importing CSV data using PHP/MySQL) , но я, вероятно, испортил некоторые основные вещи.Импорт CSV-данных с использованием PHP/MySQL-ПОЛНЫЙ ПРИМЕР

Вот как мой код выглядит сейчас:

<?php 

$accounts = mysql_connect('localhost','root','mypass') 
or die (mysql_error()); 
mysql_select_db("dbname",$accounts); 

$fileName='./myfile.csv'; 

$query = <<<eof 
    LOAD DATA INFILE '$myfile.csv' 
    INTO TABLE tbname 
    FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
    (ID,Entity,HOOK,Period,Status,Trade,etc) 
eof; 

$dbname->query($query); 
?> 

Im получение и ошибка в моей последней строке, как это следующим образом:

«Неопределенная переменная: имя_бд в C: \ XAMPP \ HTDOCS \ mycode \ loadcsv .php в строке 17 "

, который, вероятно, означает, что я неправильно загрузил это имя & dbname является как db? Мне удалось получить данные из того же db, используя одно и то же соединение.

Любая помощь в том, что линия

$dbname->query($query); 

это приветствуется!

tks заранее!

+0

Если вы работаете с 'mysql_connect' и' mysql_select_db', вы также должны использовать 'mysql_query' для вашего запроса. – PKeidel

+0

@PKeidel. можете ли вы дать немного больше информации? Я попытался: '$ dbname-> mysql_query ($ query);' и '$ dbname-> mysql_query ($ query, $ account);' и не работал! Любые советы приветствуются! –

+0

Я отправил правильный код в качестве ответа ниже;) – PKeidel

ответ

0

Как я уже упоминал ранее в своем комментарии, вы смешиваете процедурное и объективное программирование. Функции, такие как mysql_connect, mysql_select_db и mysql_query являются процедурами. Таким образом, вы должны идти таким образом, когда вы начинаете свой проект с помощью этих функций.

Ваш код должен выглядеть коснуться так:

<?php 
$accounts = mysql_connect('localhost','root','mypass') or die (mysql_error()); 
mysql_select_db("dbname",$accounts); 

$fileName='./myfile.csv'; 

$query = <<<eof 
    LOAD DATA INFILE '$myfile.csv' 
    INTO TABLE tbname 
    FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
    (ID,Entity,HOOK,Period,Status,Trade,etc) 
eof; 

mysql_query($query); // <= HERE is the change 
?> 

Вы не можете использовать $dbname, потому что это переменная, которая не существует.

+0

@ PKeidel.Tks снова, но у меня есть другая проблема bcs, это изменение выше не сработало. Я также попытался переместить весь код в объект mysqli, ориентированный на объект, но все же застрял: -/(http://stackoverflow.com/questions/20436030/importing-csv-data-using-php-mysql-mysqli-syntax). –

+0

У вас появляется сообщение об ошибке? – PKeidel

+0

Не для этого кода. Он отлично работает, потому что он ничего не загружает в моих таблицах. –

Смежные вопросы