繁体   English   中英

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。

请检查表结构及其值。

在执行之前打印$ 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM