SQL 语法错误 - ' '', '', now())'
Error in SQL Syntax - ' '', '', now())'
我正在尝试向数据库中插入一行,但出现以下错误。
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 ' '', '', now())' at line 1.
如果我在 $gradeid
之外使用单引号,它将被转换为字符串,并且由于我的数据库列是整数并且它也是一个外键,即使这样也会失败并出现以下错误
Cannot add or update a child row: a foreign key constraint fails (`mydb`.`mytable1`, CONSTRAINT `activitygoalmaster_ibfk_1` FOREIGN KEY (`intGradeID`) REFERENCES `mytable2` (`intGradeID`))
我没有得到什么错误?可能是一些简单的错误,但我不明白。请帮忙。我在 php 中的代码是
$title = $_POST['Title'];
$gradeid = $_POST['GradeID'];
$masterimgpath = $_POST['MasterImgPath'];
$description = $_POST['Description'];
$sql = "INSERT INTO activitygoalmaster(vchTitle, intGradeID, vchMasterImgPath, vchDescription, dtCreatedAt)VALUES('$title', $gradeid, '$masterimgpath', '$description', now())";
$result = mysql_query($sql);
看起来 gradeid
是空的。尝试验证一下。
不要使用 mysql-*
函数,因为这已被弃用。将 mysqli_*
或 pdo 与准备好的语句一起使用。
请检查 table 结构及其值。
在执行之前打印你的 $sql。这样您就可以轻松找到错误。
我有一个问题: intGradeID
列是 int()
对吗?是 varchar()
吗?如果它是 varchar()
那么它确实需要在 insert
查询中使用单引号。
要解决 a foreign key constraint fails
的错误,请先将 mytable2
插入 grade id
,然后再将其插入 mytable1
。它显示此错误,因为 mytable1
上的 foreign key
需要它。
我正在尝试向数据库中插入一行,但出现以下错误。
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 ' '', '', now())' at line 1.
如果我在 $gradeid
之外使用单引号,它将被转换为字符串,并且由于我的数据库列是整数并且它也是一个外键,即使这样也会失败并出现以下错误
Cannot add or update a child row: a foreign key constraint fails (`mydb`.`mytable1`, CONSTRAINT `activitygoalmaster_ibfk_1` FOREIGN KEY (`intGradeID`) REFERENCES `mytable2` (`intGradeID`))
我没有得到什么错误?可能是一些简单的错误,但我不明白。请帮忙。我在 php 中的代码是
$title = $_POST['Title'];
$gradeid = $_POST['GradeID'];
$masterimgpath = $_POST['MasterImgPath'];
$description = $_POST['Description'];
$sql = "INSERT INTO activitygoalmaster(vchTitle, intGradeID, vchMasterImgPath, vchDescription, dtCreatedAt)VALUES('$title', $gradeid, '$masterimgpath', '$description', now())";
$result = mysql_query($sql);
看起来 gradeid
是空的。尝试验证一下。
不要使用 mysql-*
函数,因为这已被弃用。将 mysqli_*
或 pdo 与准备好的语句一起使用。
请检查 table 结构及其值。
在执行之前打印你的 $sql。这样您就可以轻松找到错误。
我有一个问题: intGradeID
列是 int()
对吗?是 varchar()
吗?如果它是 varchar()
那么它确实需要在 insert
查询中使用单引号。
要解决 a foreign key constraint fails
的错误,请先将 mytable2
插入 grade id
,然后再将其插入 mytable1
。它显示此错误,因为 mytable1
上的 foreign key
需要它。