警告:PDOStatement :: execute():SQLSTATE [HY093]:参数无效 number:绑定变量的数量与令牌的数量不匹配 第144行的C:\ xampp \ htdocs \ Buchhandlung \ gut.php SQL Fehler in:INSERT INTOtblbücher(Titel,ISBN,Herausgabedatum,fVerlageID)VALUES(?,?, ?,(选择VerlageID FROM tblverlage,其中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>";
}
答案 0 :(得分:1)
您说PDO中需要三个变量
VALUES(?, ?, ?, ...)
但是你要指定四个
$sql->execute(array($titel, $isbn, $herausgabedatum, $verlage))