English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Funktion mysqli_prepare() bereitet die Ausführung eines SQL-Statements vor
Die Funktion mysqli_prepare() bereitet die Ausführung eines SQL-Statements vor, gibt einen Statement-Handler zurück, auf den nachfolgend operationen durchgeführt werden können. Sie können in dieser Abfrage Parametermarken ("?") verwenden, um Werte zuzuweisen und diese später auszuführen.
Hier wird nur ein einzelnes SQL-Statement unterstützt, nicht mehrere SQL-Statements.
Bevor ein Statement ausgeführt wird, muss das mysqli_stmt_bind_param() -Funktion verwendet werden, um die Platzhalterparameter zu binden. Ebenso muss das mysqli_stmt_bind_result() -Funktion verwendet werden, um die zurückgegebenen Spaltenwerte zu binden, bevor Ergebnisse abgerufen werden.
mysqli_prepare($con, $str);
Reihennummer | Parameter und Erklärung |
---|---|
1 | con (erforderlich) Dies ist ein Objekt, das die Verbindung zum MySQL Server darstellt. |
2 | str (erforderlich) Dies ist der angegebene Stringwert für die erforderliche Abfrage. |
Wenn der Vorgang erfolgreich ist, gibt diese Funktion ein statement-Objekt zurück, wenn nicht, wirdfalse。
Diese Funktion wurde ursprünglich in der PHP-Version5eingeführt und kann in allen höheren Versionen verwendet werden.
Nachstehendes Beispiel zeigtmysqli_prepare()Verwendung der Funktion (prozeduraler Stil)-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; mysqli_query($con, $query); print("Eine Tabelle erstellen.....\n"); $stmt = mysqli_prepare($con, "INSERT INTO Test values(?, ?)"); mysqli_stmt_bind_param($stmt, "si", $Name, $Age); $Name = 'Raju'; $Age = 25; print("Einen Eintrag einfügen....."); //Anweisung ausführen mysqli_stmt_execute($stmt); //Anweisung beenden mysqli_stmt_close($stmt); //Verbindung schließen mysqli_close($con); ?>
Ergebnisse ausgeben
Eine Tabelle erstellen..... Einen Eintrag einfügen.....
Wenn Sie den Inhalt der Tabelle überprüfen möchten, wie folgt, $ minus;
mysql> select * from test; +------+------+ | Name | AGE | +------+------+ | Raju | 25 | +------+------+ 1 row in set (0.00 sec)
In der objektorientierten Variante ist die Syntax dieser Funktion$ con-> prepare();。Hier ist ein Beispiel für die This-Funktion der objektorientierten Variante $ minus;
<?php //Verbindung herstellen $con = new mysqli("localhost", "root", "password", "mydb"); $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; $con -> query($query); print("Eine Tabelle erstellen.....\n"); $stmt = $con -> prepare( "INSERT INTO Test values(?, ?)"); $stmt -> bind_param("si", $Name, $Age); $Name = 'Raju'; $Age = 25; print("Einen Eintrag einfügen....."); //Anweisung ausführen $stmt->execute(); //Anweisung beenden $stmt->close(); //Verbindung schließen $con->close(); ?>
Ergebnisse ausgeben
Eine Tabelle erstellen..... Einen Eintrag einfügen.....