English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
تقوم دالة mysqli_stmt_execute() بتنفيذ الاستعلام المعد.
mysqli_stmt_execute()تقبل الدالة موضوع جملة معدة (مكونة باستخدام دالة prepare()) كإعداد، وتنفيذها، حيث يتم استبدال أي علامة مرجعية موجودة ببيانات مناسبة عند التنفيذ.
بعد تنفيذ هذه الدالة، إذا تم استدعاء دالة mysqli_stmt_affected_rows() (في حالات الاستعلامات UPDATE، DELETE، INSERT)، سيتم الحصول على عدد الأسطر المتأثرة. بنفس الطريقة، إذا تم استدعاء دالة mysqli_stmt_fetch() (في حالات الاستعلامات SELECT)، سيتم إرجاع مجموعة النتائج.
mysqli_stmt_execute($stmt);
الترقيم | الإعدادات والشرح |
---|---|
1 | con(مطلوب) هذا هو موضوع الجملة المعدة. |
يستعيد دالة mysqli_stmt_execute() من PHP قيمة منطقية، تكون صحيحة عند النجاحtrue،في حالة الفشل تكونfalse.
تم إدخال هذه الدالة لأول مرة في إصدار PHP 5، ويمكن استخدامها في جميع الإصدارات الأعلى.
افترض أننا قمنا بإنشاء جدول يسمى employee في قاعدة بيانات MySQL، ويحتوي على المعلومات التالية:
mysql> select * from 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 rows in set (0.00 sec)
إليك مثال يوضح ذلكmysqli_stmt_execute()استخدام الدالة (أسلوب عملية)، تنفيذ وتحضير جملة التحديث المسبق:
<?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; //تنفيذ الجملة mysqli_stmt_execute($stmt); print("Records have been updated......\n"); //انتهاء الجملة mysqli_stmt_execute($stmt); //إغلاق الاتصال mysqli_close($con); ?>
إخراج النتائج
Records have been updated......
After executing the above program,employeeThe content of the table is as follows:
mysql> select * from 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 rows in set (0.00 sec)
The syntax of this function in an object-oriented style is$stmt-> execute();。Here is an example of this function in an object-oriented style, executing a prepared insert statement
<?php //Establishing connection $con = new mysqli("localhost", "root", "password", "mydb"); //Creating a table $con -> query("CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("إنشاء الجداول.....\n"); //استخدام جملة التهيئة المسبقة لإدخال القيم في الجدول $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'; //تنفيذ الجملة $stmt->execute(); //انتهاء الجملة $stmt->close(); //إغلاق الاتصال $con->close(); ?>
إخراج النتائج
إنشاء الجداول.....
يمكنك أيضًا تنفيذmysqli_stmt_prepare()جملة إنشاء الدالة -
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; mysqli_query($con, $query); print("إنشاء الجداول.....\n"); //إعداد الجملة $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("إدخال السجلات....."); //تنفيذ الجملة mysqli_stmt_execute($stmt); //انتهاء الجملة mysqli_stmt_close($stmt); //إغلاق الاتصال mysqli_close($con); ?>
إخراج النتائج
إنشاء الجداول..... إدخال السجلات.....