PHP MySQL Functions

PHP MySQL مقدمة

تسمح لك وظائف MySQL بتحديد الوصول إلى خادم قاعدة البيانات MySQL.

التثبيت

من أجل استخدام وظائف هذا الصنف بشكل سلس، يجب إضافة دعم MySQL أثناء تجميع PHP.

يمكن استخدام خيار التكوين --with-mysql[=DIR] أثناء التجميع فقط، حيث يشير [DIR] بشكل اختياري إلى مسار تثبيت MySQL.

على الرغم من أن مكتبة MySQL هذا المدمجة مع MySQL 4.1.0 وما بعدها، إلا أنها لا تدعم الميزات الإضافية التي توفرها هذه الإصدارات. إذا كنت ترغب في استخدام هذه الميزات، استخدم مكتبة MySQLi.

إذا كنت ترغب في تثبيت مكتبة تعديل mysql و mysqli بشكل متزامن، يجب استخدام نفس مكتبة العملاء لتجنب أي تضارب.

تثبيت على نظام Linux

PHP 4

تم تفعيل خيار --with-mysql بشكل افتراضي. يمكن إيقاف هذا السلوك الافتراضي باستخدام خيار التكوين --without-mysql. إذا تم تفعيل MySQL دون تحديد مسار التثبيت، سيستخدم PHP مكتبة اتصال العملاء المدمجة مع MySQL.

لا تستخدم مكتبة المرتبطة للبرامج الأخرى التي تستخدم MySQL (مثل auth-mysql)، ولكن تحدد مسار تثبيت MySQL، مثل هذا: --with-mysql=/path/to/mysql. سيجعل هذا PHP يستخدم مكتبة اتصال العملاء المدمجة مع MySQL، مما يمكن من تجنب أي تضارب.

PHP 5+

MySQL المبدئي غير مفعّل، وليس هناك مكتبة MySQL مرتبطة. استخدم خيار التكوين --with-mysql[=DIR] للانضمام إلى دعم MySQL. يمكنك الحصول على MySQL تحميل ملفات الرأس والمكتبات.

تثبيت على نظام Windows

PHP 4

تم تجميع مكتبة PHP MySQL داخل PHP.

PHP 5+

MySQL المبدئي غير مفعّل، لذا يجب تفعيل مكتبة الاتصال الديناميكية php_mysql.dll في ملف php.ini. بالإضافة إلى ذلك، يجب أن يتمكن PHP من الوصول إلى مكتبة اتصال MySQL العملاء. يتضمن إصدار Windows من PHP ملف libmysql.dll، حتى يتمكن PHP من التحدث مع MySQL، يجب أن يتموضع هذا الملف في مسار النظام PATH في Windows.

لتفعيل أي مكتبة توسيع PHP (مثل php_mysql.dll)، يجب إعداد التعليمات البرمجية extension_dir إلى مجلد مكتبات التوسيع. مثال على قيمة extension_dir في PHP 5 هو c:\php\ext.

ملاحظة:إذا ظهرت خطأ مشابه لـ "Unable to load dynamic library './php_mysql.dll'" عند بدء تشغيل خادم الويب، هذا يعني أن النظام لا يستطيع العثور على php_mysql.dll و / أو libmysql.dll.

تكوين الوقت الحقيقي

سلوك وظائف MySQL يتأثر بالإعدادات الموجودة في php.ini.

خيارات تكوين MySQL:

الاسم افتراضي Description يمكن تغييره
mysql.allow_persistent "1" هل يسمح بالاتصالات الدائمة لـ MySQL. PHP_INI_SYSTEM
mysql.max_persistent "-1" عدد أكبر عدد من الاتصالات الدائمة في كل عملية. PHP_INI_SYSTEM
mysql.max_links "-1" عدد أكبر عدد من الاتصالات في كل عملية، بما في ذلك الاتصالات الدائمة. PHP_INI_SYSTEM
mysql.trace_mode "0" وضع التتبع. متاح من PHP 4.3.0. PHP_INI_ALL
mysql.default_port NULL تحديد端ر TCP الافتراضي للاتصال بالقاعدة البيانات. PHP_INI_ALL
mysql.default_socket NULL اسم socket الافتراضي. متاح من PHP 4.0.1. PHP_INI_ALL
mysql.default_host NULL عنوان الخادم الافتراضي. لا ينطبق على نمط الأمان SQL. PHP_INI_ALL
mysql.default_user NULL اسم المستخدم المستخدم بشكل افتراضي. لا ينطبق على نمط الأمان SQL. PHP_INI_ALL
mysql.default_password NULL كلمة المرور المستخدمة بشكل افتراضي. لا تنطبق على نمط الأمان SQL. PHP_INI_ALL
mysql.connect_timeout "60" عدد الثواني للتحقق من الاتصال. PHP_INI_ALL

نوع الموارد

في وحدة MySQL تم استخدام نوعين من الموارد. النوع الأول هو ملف التعريف للاتصال بالقاعدة البيانات، والنوع الثاني هو مجموعة النتائج التي تعود من الاستعلامات SQL.

PHP MySQL Functions

PHP:指示支持该函数的最早的 PHP 版本。

函数 Description PHP
mysql_affected_rows() 取得前一次 MySQL 操作所影响的记录行数。 3
mysql_change_user() 不赞成。改变活动连接中登录的用户 3
mysql_client_encoding() 返回当前连接的字符集的名称 4
mysql_close() 关闭非持久的 MySQL 连接。 3
mysql_connect() 打开非持久的 MySQL 连接。 3
mysql_create_db() 不赞成。新建 MySQL 数据库。使用 mysql_query() 代替。 3
mysql_data_seek() 移动记录指针。 3
mysql_db_name() 从对 mysql_list_dbs() 的调用返回数据库名称。 3
mysql_db_query()

不赞成。发送一条 MySQL 查询。

使用 mysql_select_db() 和 mysql_query() 代替。

3
mysql_drop_db()

不赞成。丢弃(删除)一个 MySQL 数据库。

لا يتم التوصية. استخدم mysql_query() بدلاً من ذلك.

3
mysql_errno() 返回上一个 MySQL 操作中的错误信息的数字编码。 3
mysql_error() 返回上一个 MySQL 操作产生的文本错误信息。 3
mysql_escape_string()

不赞成。转义一个字符串用于 mysql_query。

使用 mysql_real_escape_string() 代替。

4
mysql_fetch_array() 从结果集中取得一行作为关联数组,或数字数组,或二者兼有。 3
mysql_fetch_assoc() 从结果集中取得一行作为关联数组。 4
mysql_fetch_field() 从结果集中取得列信息并作为对象返回。 3
mysql_fetch_lengths() 取得结果集中每个字段的内容的长度。 3
mysql_fetch_object() 从结果集中取得一行作为对象。 3
mysql_fetch_row() 从结果集中取得一行作为数字数组。 3
mysql_field_flags() 从结果中取得和指定字段关联的标志。 3
mysql_field_len() 返回指定字段的长度。 3
mysql_field_name() الحصول على اسم الحقل المحدد في النتائج. 3
mysql_field_seek() ضبط مؤشر مجموعة النتائج إلى التغير المحدد من الحقل. 3
mysql_field_table() الحصول على اسم الجدول الذي يحتوي على الحقل المحدد. 3
mysql_field_type() الحصول على نوع الحقل المحدد في مجموعة النتائج. 3
mysql_free_result() إطلاق ذاكرة النتائج. 3
mysql_get_client_info() الحصول على معلومات عميل MySQL. 4
mysql_get_host_info() الحصول على معلومات خادم MySQL. 4
mysql_get_proto_info() الحصول على معلومات протوكول MySQL. 4
mysql_get_server_info() الحصول على معلومات خادم MySQL. 4
mysql_info() الحصول على معلومات الاستعلام الأخير. 4
mysql_insert_id() الحصول على ID النسخة الأخيرة من عملية INSERT. 3
mysql_list_dbs() قائمة جميع قواعد البيانات في خادم MySQL. 3
mysql_list_fields()

لا يتم التوصية. قائمة الحقول في نتائج MySQL.

لا يتم التوصية. استخدم mysql_query() بدلاً من ذلك.

3
mysql_list_processes() قائمة العمليات MySQL. 4
mysql_list_tables()

لا يتم التوصية. قائمة الجداول في قاعدة بيانات MySQL.

لا يتم التوصية. استخدم mysql_query() بدلاً من ذلك.

3
mysql_num_fields() الحصول على عدد الحقول في مجموعة النتائج. 3
mysql_num_rows() الحصول على عدد الصفوف في مجموعة النتائج. 3
mysql_pconnect() فتح اتصال دائم إلى خادم MySQL. 3
mysql_ping() التحقق من اتصال الخادم، وإعادة الاتصال إذا لم يكن هناك اتصال. 4
mysql_query() إرسال استعلام MySQL. 3
mysql_real_escape_string() هروب الحروف الخاصة المستخدمة في جملة SQL. 4
mysql_result() الحصول على بيانات النتائج. 3
mysql_select_db() اختيار قاعدة بيانات MySQL. 3
mysql_stat() الحصول على حالة النظام الحالية. 4
mysql_tablename() لا يتم التوصية. الحصول على اسم الجدول. استخدم mysql_query() بدلاً من ذلك. 3
mysql_thread_id() Return the ID of the current thread. 4
mysql_unbuffered_query() Send an SQL query to MySQL (do not retrieve / cache the result). 4

PHP MySQL Constants

In versions of PHP 4.3.0 and later, more client markers can be specified in the mysql_connect() function and mysql_pconnect() function:

PHP:Indicates the earliest PHP version that supports this constant.

Constants Description PHP
MYSQL_CLIENT_COMPRESS Use a compressed communication protocol. 4.3
MYSQL_CLIENT_IGNORE_SPACE Allow spaces after the function name. 4.3
MYSQL_CLIENT_INTERACTIVE Non-active timeout allowed before closing the connection. 4.3
MYSQL_CLIENT_SSL Use SSL encryption (available only when the MySQL client library version is 4+). 4.3

The mysql_fetch_array() function uses a constant to represent the type of the returned array:

Constants Description PHP
MYSQL_ASSOC The returned data columns use field names as array index names.  
MYSQL_BOTH The returned data columns use field names and numeric indices as array index names.  
MYSQL_NUM

The returned data columns use numeric indices as array index names.

The index starts from 0, indicating the first field of the returned results.