English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
تقوم وظيفة mysqli_prepare() بتحضير تنفيذ جملة SQL
تقوم وظيفة mysqli_prepare() بتحضير تنفيذ جملة SQL، وتعود جسم بيانات دالة جملة يمكن تنفيذها عليها، يمكنك استخدام علامات العلامة (؟) في هذا الاستعلام، وتعيين القيمة لها، ثم تنفيذها لاحقاً.
يتم دعم جملة SQL واحدة فقط هنا، ولا يدعم جملة SQL متعددة.
قبل تنفيذ الجملة، يجب استخدام وظيفة mysqli_stmt_bind_param() لتوصيل المعلمات الموجودة في النص. وكذلك، قبل الحصول على النتائج، يجب استخدام وظيفة mysqli_stmt_bind_result() لتوصيل القيم العائدة للعمود.
mysqli_prepare($con, $str);
الترقيم | المعلمات والشرح |
---|---|
1 | con(مطلوب) هذا هو جسم الاتصال بالخادم MySQL. |
2 | str(مطلوب) هذا هو القيمة النصية المطلوبة للاستعلام. |
إذا كانت النتيجة ناجحة، تعود هذه الوظيفة بجسم بيانات statement، وإذا كانت غير ناجحة، تعودfalse.
تم إدخال هذه الوظيفة في إصدار PHP 5، وهي قابلة للتطبيق في جميع الإصدارات الأعلى.
الامثلة التالية تظهر كيفيةmysqli_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_prepare($con, "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); ?>
إظهار النتائج
إنشاء جدول..... إدراج سجلات.....
إذا قمت بتحقق من محتويات الجدول، كما هو موضح أدناه، $ minus؛
mysql> select * from test; +------+------+ | Name | AGE | +------+------+ | Raju | 25 | +------+------+ 1 صف في المجموعة (0.00 ثانية)
في أسلوب التوجيهات الموجهة للأحداث، نحن نستخدم جملة هذا$ con-> prepare();.هذا مثال على دالة This الخاصة بـ$ minus بأسلوب التوجيهات الموجهة للأحداث؛
<?php //إنشاء اتصال $con = new mysqli("localhost", "root", "password", "mydb"); $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; $con -> query($query); print("إنشاء جدول.....\n"); $stmt = $con -> prepare("INSERT INTO Test values(?, ?"); $stmt -> bind_param("si", $Name, $Age); $Name = 'Raju'; $Age = 25; print("إدراج سجلات....."); //تنفيذ الجملة $stmt->execute(); //انتهاء الجملة $stmt->close(); //إغلاق الاتصال $con->close(); ?>
إظهار النتائج
إنشاء جدول..... إدراج سجلات.....