Erfahren Sie, wie Sie mit MySQL vorbereitete Anweisungen für Datenbankoperationen verwenden
P粉838563523
2023-08-24 16:54:12
<p>Ich versuche vorbereitete Anweisungen zu verwenden, aber der folgende Code funktioniert nicht. Ich habe die folgende Fehlermeldung erhalten: </p>
<blockquote>
<p>Schwerwiegender Fehler: Aufruf der Nicht-Objekt-Memberfunktionexecute() in Zeile 12 von /var/www/prepared.php</p>
</blockquote>
<pre class="brush:php;toolbar:false;"><?php
$mysqli = new mysqli("localhost", "root", "root", "test");
if ($mysqli->connect_errno) {
echo „Verbindung zu MySQL fehlgeschlagen:“ $mysqli->connect_error;
}
$stmt = $mysqli->prepare("INSERT INTO Benutzer (Name, Alter) VALUES (?,?)");
//Eine Zeile einfügen
$stmt->execute(array('one',1));
// Eine weitere Zeile mit anderen Werten einfügen
$stmt->execute(array('two',1));
?></pre>
<p>Muss ich außerdem MySQL für vorbereitete Anweisungen verwenden? Kann mir jemand ein Beispiel für eine vollständig vorbereitete Anweisung nennen, einschließlich Verknüpfungen, Einfügungen und Auswahlen sowie Fehlerbehandlung? </p>
你也可以使用我更喜欢的PDO。实际上,在你的代码示例中,你似乎混淆了PDO和Mysqli。
与mysqli不同,你不需要调用单独的绑定函数,尽管如果你喜欢/想要/需要使用它,该功能是可用的。
PDO的另一个有趣之处是命名占位符,它在复杂查询中可能会更不容易混淆:
来自
mysqli::prepare
文档:bind_param
文档。即: