Ich habe einen einfachen Einfüge-Code von PDO in MYSQL-Datenbank.PDO Ausnahme, wenn Wert dynamisch übergeben
Dies ist mein Code.
$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();
}
Wenn ich übergeben Sie den statischen Wert für $ subcat dann (was kommentiert out) es ganz gut funktioniert. Aber wenn derselbe Wert über Array übergeben und begrenzt wird, gibt er die Ausnahme für Fremdschlüsselintegritätsverletzung zurück.
Wegen des Hintergrundes zu dieser Frage. Ich habe einen Fremdschlüssel, der meine Spalte sub_category_id der Tabelle shop_detail mit sub_category Tabelle mit demselben Spaltennamen in Verbindung bringt.
Wichtig. Der Wert, der gebunden wird und eingefügt werden soll, existiert in meiner Unterkategorie Tabelle. Hier
sind die detaillierten Fehler.
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.
Können Sie einen var_dump von $ catexplode posten? – Bert
@Bert Vielen Dank .. Soweit ich weiß, war der Grund, warum Sie nach var_dump gefragt haben, die Überprüfung des Datentyps. Und ich konvertierte gerade meine Variable in Integer und das funktionierte für mich. Danke vielmals. – Archit