我正在尝试使用 PHP 更新 MySQL 数据库中的多个字段。这些变量是使用 Ajax 从 HTML 表单传递的。由于某种原因,查询似乎失败了,我不知道为什么。
我检查过变量传递正确,一切正常,所以我认为SQL查询有问题。我试过用细牙梳检查它,但我这辈子都弄不明白哪里出了问题!我知道我可能遗漏了一些明显的东西,但任何人都可以帮助我吗?
谢谢!
这是 PHP 代码:
<?php
//Connect to database
include_once('../../dbconnect.php');
//Retrieve Variables from AJAX call
$name = $_POST['name'];
$size = $_POST['changesize'];
$delivery = $_POST['changedelivery'];
$venue = $_POST['changevenue'];
$level = $_POST['changelevel'];
$modules = $_REQUEST['changemodules'];
$insertmodules = json_decode(stripslashes($modules), true);
//Update database using variables
mysql_query ("UPDATE users SET level=$level, size=$size, delivery=$delivery, venue=$venue, mod1=$insertmodules[0], mod2=$insertmodules[1], mod3=$insertmodules[2], mod4=$insertmodules[3], mod5=$insertmodules[4], mod6=$insertmodules[5], mod7=$insertmodules[6], mod8=$insertmodules[7], mod9=$insertmodules[8], mod10=$insertmodules[9] WHERE name=$name")
or die (mysql_error);
//Return Data
echo "Course updated for $name";
?>
最佳答案
mysql_error()
是一个函数,不是常量。添加大括号,看看发生了什么。
您很可能没有正确设置值的格式。
例如,对于字符串,你必须两者兼顾
- 用引号括起来
- 在内部转义这些引号
当你什么都不做时。
对于数字,您必须明确地将它们转换为正确的类型。
关于php - 通过 PHP 使用单个查询更新多个 MySQL 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14770465/