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

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

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

PHP & MySQL

دليل PHP

استخدام دالة PHP mysqli_stmt_bind_result() و مثال

دليل PHP MySQLi

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

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

mysqli_stmt_bind_result()يستخدم هذا الدالة لربط الأعمدة في مجموعة النتائج إلى متغيرات. بعد ربط المتغيرات، تحتاج إلى إدخال mysqli_stmt_fetch() يستخدم هذا الدالة للحصول على قيمة الأعمدة في المتغير المحدد.

النحو

mysqli_stmt_bind_result($stmt, $var1, $var2...);

الواردات

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

stmt(مطلوب)

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

2

var1(مطلوب)

هذا يعني أن هناك متغيرات لربطها بالأعمدة.

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

PHP mysqli_stmt_bind_result()函数 ترجع قيمة بولية، تكون صحيحة عندtrue،في حالة الفشل تكونfalse.

إصدار PHP

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

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

يظهر هذا المثالmysqli_stmt_bind_result()استخدام الدالة (نمط عملية)

<?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')");
   mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')");
   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
Id: 3
fname: Kumara
lname: Sangakkara
pob: Matale
country: Srilanka

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

在面向对象风格中,此函数的语法为$stmt-> bind_result();。以下是面向对象风格中此函数的示例,将变量绑定到结果集:

<?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("Records Deleted.....\n");
   //تنفيذ الجملة
   $stmt->execute();
   //将变量绑定到结果集
   $stmt->bind_result($name, $age);
   while ($stmt->fetch()) {
      print("Name: " . $name . "\n");
      print("Age: " . $age . "\n");
   }
   //إنهاء الجملة
   $stmt->close();
   //إغلاق الاتصال
   $con->close();
?>

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

创建表.....
Records Deleted.....
Name: Raju
Age: 25
Name: Rahman
Age: 30

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

以下示例使用 mysqli_stmt_bind_result() 和 mysqli_stmt_fetch() 函数获取DESCRIBE查询的结果,并将结果中的值绑定到变量:

<?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");
   //Description of the table
   $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: " . $field . "\n");
      print("Type: " . $type . "\n");
      print("Null: " . $null . "\n");
      print("Key: " . $key . "\n");
      print("Default: " . $default . "\n");
      print("Extra: " . $extra . "\n");
      print("\n");
   }
   //إنهاء الجملة
   mysqli_stmt_close($stmt);
   //إغلاق الاتصال
   mysqli_close($con);
?>

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

创建表.....
Field: ID
Type: int(11)
Null: YES
مفتاح:
افتراضي:
إضافي:
Field: First_Name
Type: varchar(255)
Null: YES
مفتاح:
افتراضي:
إضافي:
Field: Last_Name
Type: varchar(255)
Null: YES
مفتاح:
افتراضي:
إضافي:
Field: Place_Of_Birth
Type: varchar(255)
Null: YES
مفتاح:
افتراضي:
إضافي:
Field: Country
Type: 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