我在将信息数组插入 mysql 数据库时遇到问题。基本上,我构建了一个类似于 Facebook 相册的可排序图库,可以通过使用 jquery 的可排序功能将 div 移动到新位置来进行排列。
我正在使用 Ajax 调用一个 php 文件,该文件会将 div 的新顺序插入到数据库中。信息正在正确传递,只是未正确插入。
我收到的错误是:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“Array”附近使用的正确语法
Php 代码是:
foreach ($_GET['listItem'] as $position => $item) {
if ($item >= 1) {
$sql[] = "UPDATE table SET order = '{$position}' WHERE id = '{$item}'";
mysql_query($sql) or die(mysql_error());
}
}
如果我删除 mysql_query 函数并只执行 print_r,我会得到:
Array
(
[0] => UPDATE table SET order = '0' WHERE id = '2'
[1] => UPDATE table SET order = '1' WHERE id = '4'
[2] => UPDATE table SET order = '2' WHERE id = '3'
[3] => UPDATE table SET order = '3' WHERE id = '1'
[4] => UPDATE table SET order = '4' WHERE id = '5'
[5] => UPDATE table SET order = '5' WHERE id = '6'
)
这是我第一次尝试做这样的事情。任何帮助都会很棒。
提前感谢您的帮助!
最佳答案
在mysql_query($sql)
中,$sql
是一个数组,因此它的值只是Array
。当您分配 $sql[] = "UPDATE table SET order = '{$position}' WHERE id = '{$item}'";
时,只需将此行 $sql = "UPDATE表 SET order = '{$position}' WHERE id = '{$item}'";
。这应该可以解决你的问题。
编辑:
您可以保留[]
,只需从其所在位置删除mysql_query
即可。在 foreach 列表项之后,添加以下内容:
foreach($sql as $query) {
mysql_query($query);
}
关于mysql - 将信息数组插入 MySQL 数据库时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10658018/