2015-03-17 2 views
0

Этот запрос работает непосредственно в MySQL:Как избежать этого mysql-запроса в php-скрипте?

LOAD DATA LOCAL INFILE '/var/www/html/parsecsv/test.csv' 
INTO TABLE test 
COLUMNS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES 

Я должен использовать его в PHP скрипт. Я пытаюсь избежать специальных символов. Но я не могу заставить его работать. Вот сценарий:

$query = "LOAD DATA LOCAL INFILE '/var/www/html/parsecsv/test.csv' 
INTO TABLE test 
COLUMNS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '\"' 
ESCAPED BY '\"' 
LINES TERMINATED BY '\\n' 
IGNORE 1 LINES"; 
$link = mysqli_connect("localhost", "wptest", "[email protected]"); 
/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 
if (!mysqli_select_db($link, 'wptest')) { 
    echo 'Could not select database'; 
    exit; 
} 
/* Select queries return a resultset */ 
if ($result = mysqli_query($link, $query)) { 
    echo "It's working"; 
    /* free result set */ 
    mysqli_free_result($result); 
} 
+0

Какое кодирование является база данных? – Daan

+0

Используйте строку heredoc, как описано [здесь] (http://stackoverflow.com/a/5673478/2629998). –

+0

Это latin1_swedish_ci – anwarabq

ответ

0

Вот трюк я часто использую:

$query = <<<QUERY 
LOAD DATA LOCAL INFILE '/var/www/html/parsecsv/test.csv' 
INTO TABLE test 
COLUMNS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES 
QUERY; 
Смежные вопросы