将 php 变量更新到数据库时出现问题


Issue with SQL updating php variable to the database

我下面的代码更新了我的数据库记录。

$assign_id_input = $_POST['assign_id_input']; // Get ID input from user, it is always an integer
$assign_math = $_POST['input_math']; // Get the input from user
mysql_query("UPDATE free_ebook SET math = $assign_math WHERE useid = $assign_id_input;")or die(mysql_error());

我将在下面显示SQL错误

您的 SQL 语法有误;请查看手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第 1 行的"WHERE useid = 8"附近

我敢打赌你的"math"列是一个字符串,所以你必须用引号保护字符串在你的变量周围。

mysql_query("UPDATE free_ebook SET math = '$assign_math' WHERE useid = $assign_id_input;")or die(mysql_error()
数学

数据是字符串格式的,它应该像字符串一样传递

mysql_query("UPDATE free_ebook SET math = '$assign_math' WHERE useid = $assign_id_input;")or die(mysql_error());

您应该在 SQLquery 中用单引号将变量名称括起来,如下所示:

法典:

mysql_query("UPDATE free_ebook SET math = '$assign_math' WHERE useid = '$assign_id_input'");

'仅用于列值,并且用于文本/日期/varchar类型。请查看您正在更新的列值。

mysql_query("UPDATE free_ebook SET math = '$assign_math' WHERE useid = $assign_id_input")

你在查询中;,把它拿出来

mysql_query("UPDATE free_ebook SET math = '$assign_math' WHERE useid = $assign_id_input")or die(mysql_error());