php - 通过 PHP 使用单个查询更新多个 MySQL 字段

标签 php mysql

我正在尝试使用 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/

相关文章:

php - Laravel 字符串验证以允许空字符串

javascript - 创建一行代码和一个脚本来从另一个站点(例如 Twitter、分析等)回调表中的数据库信息

php - 如何通过 SOAP api 更新团体价格

PHP 检查 .sql 转储文件中是否存在行

php - 我的代码搜索真的很慢

php - 选择时默认使用集合名称 'utf8'有什么不好的影响吗?

php - laravel 5 中的配置缓存导致找不到 View

PHP + mysql - 左连接 - 三张表

mysql - 一系列值和一个值的 SQL 查询

php - 通过 JS 更新的表单输入未提交