Ошибка в синтаксисе SQL — » ‘,’ ‘, 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);

0

Решение

Похоже gradeid пустой. Попробуйте проверить это.

Не использовать mysql-* функции, потому что это устарело. использование mysqli_* или pdo с подготовленным заявлением.

3

Другие решения

Пожалуйста, проверьте структуру таблицы и его значение.

напечатайте свой $ sql, прежде чем выполнить его. так что вы можете легко найти ошибку.

0

У меня вопрос: intGradeID столбец int() право? Это varchar()? Если это varchar() тогда это действительно нуждается в одинарных кавычках в insert запрос.

Чтобы решить ошибку с a foreign key constraint failsпожалуйста, вставьте в mytable2 grade id сначала, прежде чем вставить его в mytable1, Это показывает эту ошибку, потому что это требуется foreign key на mytable1,

0
По вопросам рекламы [email protected]