У меня есть простой код вставки базы данных PDO в MYSQL.PDO Исключение при динамическом значении
Это мой код.
$catinsert="insert into shop_detail(shop_id,sub_category_id)values(:shop_id,:subcatid)";
$catresult=$pdocon->prepare($catinsert);
foreach($catexplode as $catval)
{
$subcat=$catval;
// $subcat=6;
$catresult->bindValue(':shop_id',$shopid,PDO::PARAM_INT);
$catresult->bindValue(':subcatid',$subcat,PDO::PARAM_INT);
$catresult->execute();
}
Когда я прохожу статического значение для $ подкатегории (который закомментирована), то он работает просто отлично. Но когда это же значение передается через массив и ограничено, оно возвращает исключение для нарушения целостности внешнего ключа .
Для получения дополнительной информации об этом вопросе. У меня есть внешний ключ, связанный с моим столбцом sub_category_id таблицы shop_detail с подкатегорией таблица с тем же именем столбца.
Важно. Величина, которая привязана и вставлена, существует в моей таблице подкатегории.
Вот подробная ошибка.
exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`list`.`shop_detail`, CONSTRAINT `shop_to_subcat` FOREIGN KEY (`sub_category_id`) REFERENCES `sub_category` (`sub_category_id`))' in somewhat file.
Можете ли вы разместить var_dump $ catexplode? – Bert
@Bert Большое спасибо. Насколько я знаю, причина, по которой вы просили var_dump, - проверить тип данных. И я прямо превратил мою переменную в целое, и это сработало для меня. большое спасибо. – Archit