gpt4 book ai didi

php - 多次插入时 MySqli 插入错误

转载 作者:行者123 更新时间:2023-11-29 20:09:01 25 4
gpt4 key购买 nike

因此,我使用这段代码从 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);
?>

最佳答案

默认情况下,许多数据库连接不允许将多个查询串在单个语句中,并用逗号分隔(作为针对一种类型的 SQL 注入(inject)的防范措施)。这可能就是您正在经历的情况。

尝试将 mysqli_query($con,$run); 移动到循环内,并确保它一次只运行一个查询。

关于php - 多次插入时 MySqli 插入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40252082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com