所以我看过HERE,但由于我正在做的事情的简单性,这似乎有点令人费解。我最多会处理一百个要更新的项目(大多数时候它会更像 40 )
目前我有这样的东西
$sql_update = '';
for($x = 0; $x < count($nodes); $x++){
if($nodes[$x]['loaded'] == 'true'){
if($nodes[$x]['changed'] == 'true'){
$sql_update .= 'UPDATE `genetic_decomp`.`tbl_node2view` SET `x` = "'.$nodes[$x]['location']['x'].'", `y` = "'.$nodes[$x]['location']['y'].'" WHERE `tbl_node2view`.`id` = "'.$nodes[$x]['id'].'";';
$sql_update .= 'UPDATE `genetic_decomp`.`tbl_nodes` SET `name` = "'.$nodes[$x]['name'].'", `type` = "'.$nodes[$x]['type'].'" WHERE `tbl_nodes`.`node_id` = "'.$nodes[$x]['id'].'";';
}
}
}
if($sql_update != ''){
$sql_result=mysql_query($sql_update,$connection) or exit("Sql Error".mysql_error());
}
现在,当我让它打印输出时echo $sql_update
,然后将输出粘贴到 MAMP 中的 SQL 框中,它工作正常.. 遍历并更新我想要的两个表中的行
但是,当我运行上面的代码时,它会吐回来:
Sql Error
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE `genetic_decomp`.`tbl_nodes` SET `name` = "lala", `type` = "p" WHERE `tbl' at line 1
我究竟做错了什么?有更好的方法吗?