簡體   English   中英

我無法在數據庫中插入外鍵

[英]I can't insert a foreign key into my database

警告:PDOStatement :: execute():SQLSTATE [HY093]:無效的參數編號:綁定變量的數量與第144行SQL Fehler中的C:\\ xampp \\ htdocs \\ Buchhandlung \\ gut.php中的令牌數量不匹配:INSERT INTO tblbücher(Titel,ISBN,Herausgabedatum,fVerlageID)VALUES(?,?,?,(從tblverlage中選擇VerlageID,其中Name =“ Yen On”))

這就是我的瀏覽器所說的錯誤,但是我不知道我在做什么錯。 我嘗試將數據插入“tblbücher”表中。 問題是,我需要插入一個外鍵,但是我無法在輸入表單中僅顯示“ 1、2、3、4、5,...”

    if ($titel!="" and $isbn!="" and $herausgabedatum!="" and $verlage!="" )
    {
    $sql=$dbh->prepare("INSERT INTO tblbücher (Titel, ISBN, Herausgabedatum, fVerlageID) VALUES(?, ?, ?, (Select VerlageID FROM  tblverlage Where Name='$verlage'))");
    $sql->execute(array($titel, $isbn, $herausgabedatum, $verlage)) or die("SQL Fehler in: ".$sql->queryString." <br /> ".$sql->errorInfo()[2]);
    echo"<h1>Folgende Daten wurden der Tabelle Orte hinzugefügt:</h1></br> ";
    echo "<table>";
    echo

"<tr><th>Titel</th><th>Herausgabedatum</th><th>Name des Verlags</th><th>fVerlageID</th></tr>";
echo "<tr><td>$titel</td><td>$isbn</td><td>$herausgabedatum</td><td>$verlage</td></tr>";

}

這是我的輸入表單的樣子。 您會發現我需要將“ Verlag”稱為“ Yen On”,而不是外鍵“ 1”,因為它看起來要好得多,但它不起作用

您是說在PDO中需要三個變量

VALUES(?, ?, ?, ...)

但是您要指定四個

$sql->execute(array($titel, $isbn, $herausgabedatum, $verlage))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM