[英]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.