In PHP ist MySQLI :: Preped () eine sehr wichtige Funktion für die Vorbereitung von SQL -Anweisungen bei der Verwendung von MySQL -Datenbanken. In vielen Fällen möchten wir sicherstellen, dass der Vorbereitungsprozess von SQL -Anweisungen nicht falsch ist, insbesondere wenn der Datenbankvorgang fehlschlägt. MySQLI :: $ errno ist ein Attribut, mit dem wir feststellen können, ob ein Fehler vorliegt. Es kann uns helfen, festzustellen, ob die Methode Prepe () erfolgreich ausgeführt wird.
MySQLI :: Preped () ist eine Funktion, die zur Vorbereitung von SQL -Anweisungen verwendet wird. Der Vorteil der Vorverarbeitung besteht darin, dass die SQL -Injektion verhindern und die Effizienz von Datenbankvorgängen verbessert werden kann. In der tatsächlichen Verwendung senden wir normalerweise SQL -Anweisungen an den MySQL -Server über die Funktion PREAP () , die vom MySQL -Server analysiert und optimiert werden.
Der folgende Code zeigt beispielsweise, wie Sie MySQLI :: Preped () verwenden, um eine SQL -Anweisung vorzubereiten:
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
// Check connection
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
$stmt = $mysqli->prepare("SELECT * FROM users WHERE email = ?");
?>
Bei Verwendung von MySQLi :: Preped () wird bei der SQL -Anweisung ein Fehler vorliegen, Preped () gibt False zurück und Sie können detaillierte Fehlerinformationen erhalten, indem Sie MySQLI :: $ errno überprüfen.
<?php
// Vorbereiten SQL Stellungnahme
$stmt = $mysqli->prepare("SELECT * FROM users WHERE email = ?");
if ($stmt === false) {
// Wenn prepare() zurückkehren false,Das heißt SQL Stellungnahme有错误
echo "MySQLi prepare failed. Error number: " . $mysqli->errno . "\n";
echo "Error message: " . $mysqli->error . "\n";
} else {
// Wenn prepare() Erfolg,Weitere Operationen durchführen
echo "SQL prepared successfully!\n";
}
?>
In diesem Beispiel wird $ MySQLi-> errno einen Fehlercode zurückgeben, wenn Preped () fehlschlägt. Sie können diesen Fehlercode verwenden, um den Grund für den Fehler zu verstehen. $ mysqli-> fehler liefert spezifische Fehlerinformationen, mit denen Entwickler Probleme schnell finden können.
Wenn MySQLI :: Preped () Ausführung fehlschlägt, wird MySQLI :: $ errno auf einen Wert ungleich Null gesetzt. Hier sind einige häufige Fehlercodes:
1049 : Die Datenbank existiert nicht.
1054 : Das Feld existiert nicht (zum Beispiel wird der in Select verwendete Spaltenname falsch geschrieben).
1064 : SQL -Syntaxfehler.
1146 : Die Tabelle existiert nicht.
Sie können diese Fehlercodes verwenden, um bestimmte Probleme zu bestimmen, z. B.:
if ($stmt === false) {
switch ($mysqli->errno) {
case 1049:
echo "Die Datenbank existiert nicht!";
break;
case 1064:
echo "SQL Syntaxfehler!";
break;
default:
echo "Unbekannter Fehler: " . $mysqli->errno;
break;
}
}
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
// Überprüfen Sie die Verbindung
if ($mysqli->connect_errno) {
echo "Verbindung ist fehlgeschlagen: " . $mysqli->connect_error;
exit();
}
// Vorbereiten SQL Stellungnahme
$stmt = $mysqli->prepare("SELECT * FROM users WHERE email = ?");
if ($stmt === false) {
// Wenn prepare() zurückkehren false,Druckenfehlermeldung
echo "MySQLi prepare failed. Error number: " . $mysqli->errno . "\n";
echo "Error message: " . $mysqli->error . "\n";
} else {
// WennErfolg
echo "SQL prepared successfully!\n";
$stmt->close();
}
$mysqli->close();
?>