English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 基础教程

PHP 高级教程

PHP & MySQL

PHP 参考手册

PHP mysqli_stmt_execute() 函数用法及示例

PHP MySQLi Referenzhandbuch

mysqli_stmt_execute()函数执行准备好的查询。

定义和用法

mysqli_stmt_execute()函数接受一个准备好的语句对象(使用prepare()函数创建)作为参数,并执行它,在执行时,任何存在的参数标记将自动替换为适当的数据。

在此函数之后,如果调用mysqli_stmt_affected_rows()函数(在UPDATE,DELETE,INSERT查询的情况下),则将获得受影响的行数。以同样的方式,如果调用mysqli_stmt_fetch()函数(在SELECT的情况下),将返回结果集。

语法

mysqli_stmt_execute($stmt);

参数

序号参数及说明
1

con(必需)

Dies ist das Objekt für die vorbereitete Anweisung.

Rückgabewert

Der PHP mysqli_stmt_execute()-Funktion wird ein Boolean-Wert zurückgegeben, im Erfolgsfalltrue,im Falle eines Fehlersfalse

PHP-Version

Diese Funktion wurde ursprünglich in der PHP-Version5integriert und kann in allen höheren Versionen verwendet werden.

Online-Beispiel

Angenommen, wir haben in der MySQL-Datenbank eine Tabelle namens employee erstellt, deren Inhalt wie folgt ist:

mysql> select * von employee;
+------------+--------------+------+------+--------+
| FIRST_NAME | LAST_NAME    | AGE  | SEX  | INCOME |
+------------+--------------+------+------+--------+
| Vinay      | Bhattacharya |   20 | M    |  16000 |
| Sharukh    | Sheik        |   25 | M    |  18300 |
| Trupthi    | Mishra       |   24 | F    |  36000 |
| Sheldon    | Cooper       |   25 | M    |  12256 |
| Sarmista   | Sharma       |   28 | F    |  15000 |
+------------+--------------+------+------+--------+
5 Zeilen in Set (0.00 Sek)

Ein Beispiel dazu istmysqli_stmt_execute()Verwendung der Funktion (prozeduraler Stil), die vorbereitete update-Anweisung ausführen:

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   $stmt = mysqli_prepare($con, "UPDATE employee set INCOME=INCOME-? where INCOME >?");
   mysqli_stmt_execute($stmt, "si", $reduct, $limit);
   $limit = 16000;
   $reduct = 5000;
   //Anweisung ausführen
   mysqli_stmt_execute($stmt);
   print("Datensätze wurden aktualisiert......\n");
   //Anweisung beenden
   mysqli_stmt_execute($stmt);
   //Verbindung schließen
   mysqli_close($con);
?>

Ergebnisse ausgeben

Datensätze wurden aktualisiert......

Nach dem Ausführen des obigen Programms:employeeDer Inhalt der Tabelle ist wie folgt:

mysql> select * von employee;
+------------+--------------+------+------+--------+
| FIRST_NAME | LAST_NAME    | AGE  | SEX  | INCOME |
+------------+--------------+------+------+--------+
| Vinay      | Bhattacharya |   20 | M    |  16000 |
| Sharukh    | Sheik        |   25 | M    |  13300 |
| Trupthi    | Mishra       |   24 | F    |  31000 |
| Sheldon    | Cooper       |   25 | M    |  12256 |
| Sarmista   | Sharma       |   28 | F    |  15000 |
+------------+--------------+------+------+--------+
5 Zeilen in Set (0.00 Sek)

Online-Beispiel

In der objektorientierten Stil ist die Syntax dieser Funktion$stmt-> execute();。Hier ist ein Beispiel für diese Funktion in objektorientierter Stil, die vorbereitete insert-Anweisung ausführen

<?php
   //Verbindung herstellen
   $con = new mysqli("localhost", "root", "password", "mydb");
   //Eine Tabelle erstellen
   $con -> query("CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Eine Tabelle erstellen.....\n");
   //Werte in die Tabelle einfügen, indem Sie vorbereitete Anweisungen verwenden
   $stmt = $con -> prepare( "INSERT INTO myplayers values(?, ?, ?, ?, ?)");
   $stmt -> bind_param("issss", $id, $fname, $lname, $pob, $country);
   $id = 1;
   $fname = 'Shikhar';
   $lname = 'Dhawan';
   $pob = 'Delhi';
   $country = 'India';
   //Anweisung ausführen
   $stmt->execute();
   //Anweisung beenden
   $stmt->close();
   //Verbindung schließen
   $con->close();
?>

Ergebnisse ausgeben

Eine Tabelle erstellen.....

Online-Beispiel

Sie können auch Anweisungen ausführen, die vonmysqli_stmt_prepare()Anweisungen, die von der Funktion erstellt werden   -

<?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");
   //Anweisung initialisieren
   $stmt = mysqli_stmt_init($con);
   mysqli_stmt_prepare($stmt, "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.....

PHP MySQLi Referenzhandbuch