所以,我正在使用这段代码从XML文件中提取数据。当我尝试插入时,我收到一条错误消息。如果我使用相同的输出和MySQL Workbench中的INSERT,它工作正常。所以我假设它是PHP解释数据的方式。我的头靠在墙上,所以任何帮助都会受到赞赏。以下是代码:
<?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);
?>
答案 0 :(得分:0)
默认情况下,许多数据库连接不允许在用逗号分隔的单个语句中串起多个查询(作为防止一种SQL注入的安全措施)。这可能就是你所经历的。
尝试在循环中移动Scanner
并确保它一次只运行一个查询。