Я пытаюсь вставить строку в базу данных, и я получаю следующую ошибку.
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
пожалуйста, вставьте в mytable2
grade id
сначала, прежде чем вставить его в mytable1
, Это показывает эту ошибку, потому что это требуется foreign key
на mytable1
,