Это относится к нескольким сообщениям (like this one), но я не могу понять, как это работает. Я пытаюсь вставить сразу несколько строк с помощью оператора sql. Вот мой код, что я нашел в предыдущих постах:Вставить много строк в MySQL с php-скриптом
$mysqli = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno(). ') ' . mysqli_connect_error());
}
$body = file_get_contents('php://input');
$jsonArray = json_decode($body, true);
// Test
$results = print_r($jsonArray, true);
file_put_contents('filename.txt', print_r($results, true)); // write file to see formatting key/value
$sql = array();
foreach ($jsonArray as $row) {
$sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')';
}
$mysqli->query('INSERT INTO tbl_syncListLite (text, category) VALUES '.implode(',', $sql));
if ($mysqli === TRUE) {
$response = array('status' => '1');
} else {
$response = array('status' => '0');
}
echo json_encode($response);
$mysqli->close();
?>
Я действительно не понимаю эту часть:
$sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')';
$mysqli->query('INSERT INTO tbl_syncListLite (text, category) VALUES '.implode(',', $sql));
... и особенно, если «текст» и «Идентификатор категории» относятся к конкретные слова или если я должен заменить их моими именами полей. Более того, я не понимаю, как он может управлять полями multiples, и если некоторые из них являются целыми числами, и поэтому одно (datetime, ...).
Если бы кто-нибудь мог мне помочь, это было бы очень признательно.
это не работает с 'mysqli_' =>' mysql_real_escape_string', и вы должны были проверить реальную ошибку, почему вам не удалось http://php.net/manual/en/mysqli.error.php –
возможный дубликат из [Можно ли смешивать API MySQL в PHP?] (http://stackoverflow.com/questions/17498216/can-i-mix-mysql-apis-in-php) –
Спасибо, я посмотрю – Trichophyton