English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
تستخدم دالة mysqli_real_escape_string() لتغيير الحروف الخاصة في جملة SQL بناءً على النظام المشار إليه في الاتصال.
mysqli_real_escape_string()تستخدم الدالة لتغيير الحروف الخاصة في النص، لجعل النص نصًا SQL صالحًا. يتم إفراج النص وفقًا للنظام المشار إليه في الاتصال، لتحصل على نص مسبق للإفراج عن النص.
mysqli_real_escape_string($con, $str)
الترقيم | الإعدادات والشرح |
---|---|
1 | con(ضروري) هذه قيمة تمثل اتصالاً مع خادم MySQL. |
2 | str(ضروري) هذه قيمة نصية تحتاج إلى إفراج عن الحروف الخاصة. |
mysqli_real_escape_string()يعود قيمته قيمة 字符串 يمكن استخدامها في استعلام SQL، وهي قيمة مسبقة للإفراج عن النص.
الاستدعاء لهذه الدالة على اتصال غير صالح سيعود NULL ويصدر خطأ من مستوى E_WARNING.
تم إدخال هذه الدالة أولاً في إصدار PHP 5، ويمكن استخدامها في جميع الإصدارات الأعلى.
النماذج التوضيحية التاليةmysqli_real_escape_string()استخدام الدالة (نمط العملية)
//إقامة الاتصال $con = mysqli_connect("localhost", "root", "password", "mydb"); //إنشاء الجدول mysqli_query($con, "CREATE TABLE my_team(Name VARCHAR(255), Country VARCHAR(255))"); $player = "S'Dhawan"; $country = "India"; //إدخال السجل $res = mysqli_query($con, "INSERT into my_team VALUES ('$player', '$country')"); if (!$res){ print("حدث خطأ"); } print("تم إدخال السجل بنجاح"); } print("\n"); $player = mysqli_real_escape_string($con, $player); $country = mysqli_real_escape_string($con, $country); //إدخال السجل $res = mysqli_query($con, "INSERT into my_team VALUES ('$player', '$country')"); if (!$res){ print("حدث خطأ"); } print("تم إدخال السجل بنجاح"); } //إغلاق الاتصال mysqli_close($con); ?>
إخراج النتيجة
حدث خطأ تم إدخال السجل بنجاح
في الأسلوب الموجه بالأشياء، لغة هذا الدالة هي }}$con->real_escape_string();.هناك مثال على الدوال بالأسلوب الموجه بالأشياء؛
<?php //الاتصال بالقاعدة $con = new mysqli("localhost", "root", "password", "test"); //إنشاء الجدول $con->query("CREATE TABLE my_team(Name VARCHAR(255), Country VARCHAR(255))"); $player = "S'Dhawan"; $country = "India"; //إدخال السجل $res = $con->query("INSERT into my_team VALUES ('$player')"); if (!$res){ print("حدث خطأ"); } print("تم إدخال السجل بنجاح"); } print("\n"); $player = $con->real_escape_string($player); //إدخال السجل $res = $con->query("INSERT into my_team (Name) VALUES ('$player')"); if (!$res){ print("حدث خطأ"); } print("تم إدخال السجل بنجاح"); } //إغلاق الاتصال mysqli_close($con); ?>
إخراج النتيجة
حدث خطأ تم إدخال السجل بنجاح
حذف الحروف الخاصة من النص:
<?php $con = mysqli_connect("localhost","root","password","mydb"); if (mysqli_connect_errno($con)){ echo "فشل الاتصال بMySQL: " . mysqli_connect_error(); } $myName = "Jr's"; $myName = mysqli_real_escape_string($con,$myName); mysqli_query($con,"INSERT into emp (name) VALUES ('$myName')"); mysqli_close($con);