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

دليل PHP الأساسي

دليل PHP المتقدم

PHP & MySQL

دليل PHP

استخدام وظيفة PHP mysqli_stmt_fetch() و مثال

دليل PHP MySQLi

تقوم وظيفة mysqli_stmt_fetch() بتفريغ النتائج من الاستمارة المعدة إلى المتغيرات المربوطة.

التعريف والاستخدام

يمكنك استخدام وظيفة mysqli_prepare() لإنشاء تعبير مسبق يحتوي على علامات مرجعية ("?") (إذا كانت هناك قيم). بعد تعبير مسبق، يجب استخدامmysqli_stmt_bind_param()تبين القيم إلى المعلمات الموجودة في الاستمارة المعدة.

بالمثل، يمكن استخدام وظيفة mysqli_stmt_bind_result() لربط الأعمدة في مجموعة النتائج للمتغيرات المطلوبة.

إذا تم استدعاءmysqli_stmt_fetch()وظيفة، بعد ربط الأعمدة، ستحول الأعمدة الناتجة إلى المتغيرات المحددة.

النص النحوي

mysqli_stmt_fetch($stmt);

الإعدادات

الترقيمالإعدادات والشرح
1

stmt(ضروري)

هذا هو موضوع الاستمارة المعدة.

القيمة العائدة

إذا تم الحصول على البيانات، فإن وظيفة PHP mysqli_stmt_fetch() ستعود:TRUE؛إذا حدث خطأ، يتم العودة:FALSE; إذا لم يكن هناك المزيد من الصفوف في النتيجة، يتم العودة:NULL.

إصدار PHP

تم إدخال هذه الوظيفة في إصدار PHP 5، ويمكن استخدامها في جميع الإصدارات الأعلى.

مثال عبر الإنترنت

في هذا المثال، يتم عرض:mysqli_stmt_fetch()الاستخدامات الخاصة بالوظيفة (نمط العملية)، باستخدام تعبيرات مسبقة الارتباط لربط القيم في النتائج إلى المتغيرات:

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("إنشاء الجدول.....\n");
   mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India');")
   mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica');")
   print("إدراج السجلات.....\n");
   //استرجاع محتويات الجدول
   $stmt = mysqli_prepare($con, "SELECT * FROM myplayers");
   //تنفيذ الجملة
   mysqli_stmt_execute($stmt);
   //ربط القيم في النتيجة إلى المتغيرات
   mysqli_stmt_bind_result($stmt, $id, $fname, $lname, $pob, $country);
   while (mysqli_stmt_fetch($stmt)) {
      print("Id: ".$id."\n");
      print("fname: ".$fname."\n");
      print("lname: ".$lname."\n");
      print("pob: ".$pob."\n");
      print("country: ".$country."\n");
      print("\n");
   }
   //إنهاء الجملة
   mysqli_stmt_close($stmt);
   //إغلاق الاتصال
   mysqli_close($con);
?>

نتائج الإخراج

إنشاء الجدول.....
إدراج السجلات.....
Id: 1
fname: Sikhar
lname: Dhawan
pob: Delhi
country: India
Id: 2
fname: Jonathan
lname: Trott
pob: CapeTown
country: SouthAfrica

مثال عبر الإنترنت

في أسلوب العمل البدني، جملة هذه الوظيفة تكون$stmt->fetch();。هذا مثال على أسلوب العمل البدني للوظيفة هذا، باستخدام جملة مسبقة التحضير لربط المتغيرات بالنتائج

<?php
   //تأسيس الاتصال
   $con = new mysqli("localhost", "root", "password", "mydb");
   $con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
   $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
   print("إنشاء الجدول.....\n");
   $stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)");
   $stmt -> bind_param("ss", $name1, $name2);
   $name1 = 'Raju';
   $name2 = 'Rahman';
   print("السجلات المحذوفة.....\n");
   //تنفيذ الجملة
   $stmt->execute();
   //ربط المتغيرات بالنتائج
   $stmt->bind_result($name, $age);
   while ($stmt->fetch()) {
      print("الاسم: ".$name."\n");
      print("العمر: ".$age."\n");
   }
   //إنهاء الجملة
   $stmt->close();
   //إغلاق الاتصال
   $con->close();
?>

نتائج الإخراج

إنشاء الجدول.....
تم حذف السجل.....
الاسم: Raju
العمر: 25
الاسم: Rahman
العمر: 30

مثال عبر الإنترنت

مثال هنا يستخدم mysqli_stmt_bind_result() و mysqli_stmt_fetch() لاستخراج نتائج الاستعلام DESC

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("إنشاء الجدول.....\n");
   //شرح الجدول
   $stmt = mysqli_prepare($con, "DESC myplayers");
   //تنفيذ الجملة
   mysqli_stmt_execute($stmt);
   //ربط القيم في النتيجة إلى المتغيرات
   mysqli_stmt_bind_result($stmt, $field, $type, $null, $key, $default, $extra);
   while (mysqli_stmt_fetch($stmt)) {
      print("حقل: ".$field."\n");
      print("نوع: ".$type."\n");
      print("الفراغ: ".$null."\n");
      print("المفتاح: ".$key."\n");
      print("الافتراضي: ".$default."\n");
      print("إضافي: ".$extra."\n");
      print("\n");
   }
   //إنهاء الجملة
   mysqli_stmt_close($stmt);
   //إغلاق الاتصال
   mysqli_close($con);
?>

نتائج الإخراج

إنشاء الجدول.....
حقل: ID
نوع: int(11)
Null: YES
المفتاح:
الافتراضي:
مزيد من المعلومات:
حقل: اسم_الشخص
النوع: varchar(255)
Null: YES
المفتاح:
الافتراضي:
مزيد من المعلومات:
حقل: اسم_العائلة
النوع: varchar(255)
Null: YES
المفتاح:
الافتراضي:
مزيد من المعلومات:
حقل: مكان_الميلاد
النوع: varchar(255)
Null: YES
المفتاح:
الافتراضي:
مزيد من المعلومات:
الحقل: Country
النوع: varchar(255)
Null: YES
المفتاح:
الافتراضي:
مزيد من المعلومات:

مثال عبر الإنترنت

في هذا المثال، يتم استخدام دالة mysqli_stmt_bind_result() و mysqli_stmt_fetch() للحصول على نتائج استعلام SHOW TABLES، وعرض جميع الجداول في قاعدة البيانات الحالية:

<?php
   $con = mysqli_connect("localhost", "root", "password");
   //اختيار قاعدة البيانات
   mysqli_query($con, "CREATE DATABASE NewDatabase");
   mysqli_select_db($con, "NewDatabase");
   //إنشاء الجداول
   mysqli_query($con, "CREATE TABLE test1(Name VARCHAR(255), Age INT)");
   mysqli_query($con, "CREATE TABLE test2(Name VARCHAR(255), Age INT)");
   mysqli_query($con, "CREATE TABLE test3(Name VARCHAR(255), Age INT)");
   print("الجداول المكتوبة.....\n");
   //عرض الجداول
   $stmt = mysqli_prepare($con, "SHOW TABLES");
   //تنفيذ الجملة
   mysqli_stmt_execute($stmt);
   //ربط القيم في النتيجة إلى المتغيرات
   mysqli_stmt_bind_result($stmt, $table_name);
   print("جميع الجداول في قاعدة البيانات الحالية: \n");
   while (mysqli_stmt_fetch($stmt)) {
      print($table_name."\n");
   }
   //إنهاء الجملة
   mysqli_stmt_close($stmt);
   //إغلاق الاتصال
   mysqli_close($con);
?>

نتائج الإخراج

الجداول المكتوبة.....
جميع الجداول في قاعدة البيانات الحالية:
test1
test2
test3

دليل PHP MySQLi