[英]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。
请检查表结构及其值。
在执行之前打印$ sql。 这样您就可以轻松发现错误。
我有一个问题: intGradeID
列是int()
对吗? 是varchar()
吗? 如果是varchar()
则在insert
查询中确实需要单引号。
要解决带有a foreign key constraint fails
的错误a foreign key constraint fails
,请先将grade id
插入mytable2
,然后再将其插入mytable1
。 它显示此错误是因为mytable1
上的foreign key
需要它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.