لقد قرأت موضوعا جميلا لمطور عربي صمم قاعد بيانات ، لكن فهمت منها أنه يتوجب علي الانتقال إلى MySqli.
لقد أنشأت موقعا معتمدا على MySql ، وسؤالي هو : ما هي التغييرات التي يتوجب علي القيام بها لكي أجعل تعاملي مع MySqli وأُطَلِّقَ MySql ثلاثا.
الفرق ليس كبير جدا دوال MySqli نفس دوال MySql تماماً
فقط الفرق في حرف i
لكن ألتعدل الكبير شمل دالتين فقط
دالة الاتصال
$con = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD);
$database = mysql_select_db(DB_DATABASE);
تكتب الان
$con =mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD,DB_DATABASE);
الفرق الأخر
$sql= mysql_query($sqli) ;
الان تكتب
$sql= mysqli_query($con,$sqli) ;
أما الباقي فقط اضف لها حرف i
كثير من الناس لم يفهموا ما هي MySqli بشكل صحيح.
MySqli ليست نوع جديد من قواعد البيانات بل هي extension للغة PHP مسؤولة عن عملية الربط بين PHP وقواعد بيانات Sql التقليدية.
طُورت MySqli لتستبدل الـ extension القديمة للربط بين PHP و MySql التي كان اسمها MySql، ولهذا سُميت بـ MySqli أي اختصار لـ MySql improved.
كانت الحاجة لتطوير MySqli حتى تُستغل مميزات قواعد بيانات MySql الحدثية التي لم تدعم من خلال الـ extension القديمة المسماه MySql.
إن أردت استخدام MySqli بدل MySql لا يلزمك عمل شيء في قاعدة البيانات فكما ذكرت سابقاً لا توجد قاعدة بيانات بإسم MySqli فلن تجد مثلاً في phpmyadmin نوع قاعدة بيانات بإسم MySqli إنما لا يوجد إلا MySql،
كل ما يلزمك هو تفعيل extention الربط بين PHP و MySql الجديدة المسماة MySqli من ملف إعدادات الـ PHP المسمى php.ini بإزالة الفاصلة المنقوطة ; من أمام extension=php_mysqli.dll و وضع فاصلة منقوطة أمام الـ extention القديمة المسماة extension=php_mysql.dll
بعد ذلك ينبغي لك أن تتعلم كيف تستخدم مميزات ودوال MySqli في أكوادك من خلال تعلمها من الإنترنت.
فيما يلي مميزات MySqli الجديدة:
Dual object-oriented (OO) and procedural interfaces – This versatility was absent in previous version of MySQL. The procedural interface may be preferred by users migrating over from the old MySQL system, with function names differing only in prefix (simply add an “i). The object-oriented interface shows functions grouped by their purpose, making for an easier start. The two interfaces perform similarly with user preference being the deciding factor between the two.
Enhanced debugging capabilities - Users are able to enter debugging queries into the system which results in a more efficient development process. An example of MySQLi debugging query would read: mysqli_debug(“d:t:o,/tmp/client.trace”) * Support for ability to use transactions - Using transactions allows you to input a group of queries that execute but do not save their effects in the database. This is helpful if you have multiple inserts that rely on each other, if one fails, the others can be rolled back and none of the data is inserted.
أخي الكريم ، لقد فعلت ذلك فعلا ، لكن يحول دون استفادتي أمران :
تدني مستواي في البرمجة
وعامل اللغة ، فنحن في المغرب بلد الفرنكفونية لا نتقن الانجليزية مثلكم في المشرق.
كما أن أكبر ميزة وجدتها في هذه المنصة من خلال تجربتي هي التفاعل ، يعني لو أشكل علي شيء سأسأل "إنسانا" وأحصل على الإجابة إن شاء الله ، وصفحات الويب الظاهرة في بحث جوجل لا تجيبك من تلقاء نفسها لو أشكل عليك شيء ما فيها، لأنها ببساطة ليست "إنسانا".
ويبقى أهم هدف ينبغي أن نحرص عليه في نظري هو أن نغني الموقع بمثل هذه الأسئلة -مهما بدت لنا بسيطة - لأنه سيأتي حتما بعدنا من سيكون في مسيس الحاجة إليها ، ولك مني أطيب التحايا البرمجية ...
التعليقات