Импорт данных CSV с использованием PHP / MySQL - синтаксис Mysqli

Внизу этого вопроса заключительный кодекс, который окончательно сработал!

Пытаюсь реализовать это (Импорт данных CSV с использованием PHP / MySQL). Я должен быть почти там ...

notes1: мой $ sql пришел прямо из phpmyadmin (скопировать / вставить) (сгенерировать код php) и прекрасно работал в phpmyadmin.

note2: если я прокомментирую строку $ sql = "УДАЛИТЬ ИЗ БД " код работает очень хорошо (и таблица очищается).

Так что, если я знаю, что мой sql правильный и мой код может запускать другие sqls, почему ниже не работает ?! Я собираюсь:

Вызов функции-члена execute () для необъекта - для строки

$stmt->execute();

Полный код:

prepare($sql);
$stmt->execute(); 
$stmt->close();
$mysqli->close();
?>

ТКС заранее!

РЕДАКТИРОВАТЬ:

Сделано ниже изменений и до сих пор не работает!

новый код:

query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

$sql = "LOAD DATA INFILE 'C:/xampp/htdocs/myfile.csv' INTO TABLE tab
        FIELDS TERMINATED BY ','
    LINES TERMINATED BY '\\r\\n'
    IGNORE 1 LINES";

echo "<br>";
echo "<br>";
echo $sql;
echo "<br>";
echo "<br>";
$stmt=$mysqli->prepare($sql);

/* Prepared statement, stage 1: prepare */
if (!($stmt = $mysqli->prepare($sql))) 
{    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}


// NOTE HERE WE'RE DUMPING OUR OBJ TO SEE THAT IT WAS 
// CREATED AND STATUS OF PREPARE AND THEN KILLING SCRIPT   
var_dump($mysqli);
exit();

//$sql="DELETE FROM intrasdump

$stmt=$mysqli->prepare($sql);
$stmt->execute(); 
$stmt->close();
$mysqli->close();
?>

Когда я запускаю браузер, я вижу следующее:

База данных по умолчанию - dbname.

ЗАГРУЗИТЬ ДАННЫЕ INFILE 'C: /xampp/htdocs/myfile.csv» На вкладку ТАБЛИЦА ПОЛЯ, ПРЕКРАЩЕННЫЕ «,» ЛИНИИ, ПРЕКРАЩЕННЫЕ\р' IGNORE 1 ЛИНИИ

Не удалось подготовиться: (1295) Эта команда не поддерживается в протоколе подготовленного оператора yetobject (mysqli) # 1 (19) {["affected_rows»] => int (-1) ["client_info»] => строка (79) "mysqlnd 5.0.11-dev - 20120503 - $ Id: 40933630edef551dfaca71298a83fad8d03d62d4 $ "["client_version»] => int (50011) ["connect_errno»] => int (0) ["connect_error»] => НОЛЬ ["ERRNO»] => int (1295) ["ошибка"] => строка (68)Эта команда еще не поддерживается в подготовленном протоколе оператора "["error_list»] => array (0) {} ["field_count»] => int (1) ["host_info»] => строка (20) "localhost через TCP / IP "["Информация"] => НОЛЬ ["insert_id»] => int (0) ["server_info»] => строка (6) "5.6.11 "["server_version»] => int (50611) ["стат»] => строка (133) "Время работы: 7993 Тем: 2 Вопросов: 865 Медленных запросов: 0 Открытий: 75 Сброс таблиц: 1 Открытых таблиц: 68 Количество запросов в секунду в среднем: 0,108 "["SQLSTATE»] => строка (5) "00000 "["protocol_version»] => int (10) ["thread_id»] => int (117) ["warning_count»] => int (0)}

Примечание: если я скопирую вставленную выше строку sql в приглашение mysql, она будет работать нормально. Это должно означать, что проблема с расположением файла и самой строкой sql в порядке, нет ???

как это может быть так сложно ?!

РЕДАКТИРОВАТЬ 3.

Ткс за все ответы и комментарии. Окончательная версия кода ниже работает:

query($sql))) {
    echo "\nQuery execute failed: ERRNO: (" . $mysqli->errno . ") " . $mysqli->error;
};
?>

полезные заметки:

обратите внимание, что путь к файлу используетFRW-слэш вместо обратной косой черты по умолчанию. Orderwise просто отметит работу. Бог знает, как я понял это ...

Воспользуйтесь многими кодами отладки, предлагаемыми в ответах. Я думаю, один эффективный способ проверить, правильно ли ваш sql echo (echo $sql) это и скопировать / вставить в вашей командной строке. дон»не доверяй phpmyadmin 'создать PHP-код PHP ' функциональность.

иметь ввиду 'Подготовленные стмц неt поддерживает LOAD DATA '

Ответы на вопрос(3)

Ваш ответ на вопрос