Итак, я использую этот бит кода для извлечения данных из XML-файла. Когда я пытаюсь сделать вставку, я получаю сообщение об ошибке. Если я использую тот же вывод и INSERT в MySQL Workbench, он отлично работает. Поэтому я предполагаю, что это то, как PHP интерпретирует данные. Я ударился головой о стену, поэтому любая помощь приветствуется. Ниже приведен код:MySqli Вставить ошибку при множественной вставке
<?php
$completeurl = "gps.kml";
$xml = simplexml_load_file($completeurl);
$placemarks = $xml->Document->Folder->Placemark;
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$con=mysqli_connect("localhost","root","V1ct0ry4439253","gps");
//Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$query = '';
$run='';
for ($i = 0; $i < sizeof($placemarks); $i++) {
$coordinates = $placemarks[$i]->name;
$cor_d = explode(' ', $placemarks[$i]->Point->coordinates);
$qtmp=array();
foreach($cor_d as $value){
$tmp = explode(',',$value);
$ttmp=$tmp[1];
$tmp[1]=$tmp[0];
$tmp[0]=$ttmp;
$qtmp= '' . $tmp[0] . '' .$tmp[1].'';
}
$cor_d = $qtmp;
$query .='(\''.$coordinates.'\', \''.$cor_d.'\')';
$run .="INSERT INTO gps_history (name, coordinates) VALUES ".$query."";
//break;
}
echo $run;
mysqli_query($con,$run);
mysqli_close($con);
?>
Так вы говорите, что если вы выгрузите вывод из 'echo $ run' в MySQL Workbench, он работает без ошибок? –
Да, сэр это правильно. По крайней мере, последний запрос, который является инкрементным, поскольку он подсчитывает каждую запись. –
Вы выполняете echo $ run внутри своего цикла, а также вне своего цикла. Похоже, вы делали много разных попыток исправить это (есть свидетельства множественного кода отладки). Я вижу, что $ cor_d и $ qtmp фактически не используются (кажется) ... Возможно, это поможет, если вы можете скопировать/вставить вывод эха здесь (в качестве комментария или отредактировать ответ), и мы могли бы помочь устранить его Больше. – LStarky