PHP MySQL Function

مقدمه PHP MySQL

توابع MySQL به شما امکان دسترسی به سرور پایگاه داده MySQL را می‌دهد.

نصب

برای استفاده از توابع این کلاس، باید در هنگام compile PHP از پشتیبانی از MySQL استفاده کنید.

در هنگام编译، تنها باید از گزینه پیکربندی --with-mysql[=DIR] استفاده کنید، که [DIR] گزینه‌ای اختصاری برای مسیر نصب MySQL است.

با این حال، این کتابخانه توسعه MySQL با نسخه‌های 4.1.0 و بعدی MySQL سازگار است، اما از امکانات اضافی ارائه شده توسط این نسخه‌ها پشتیبانی نمی‌کند. برای استفاده از این امکانات، از کتابخانه توسعه MySQLi استفاده کنید.

اگر بخواهید کتابخانه‌های توسعه mysql و mysqli را همزمان نصب کنید، باید از یک کتابخانه مشتری مشترک استفاده کنید تا از هرگونه تداخل جلوگیری شود.

نصب در سیستم لینوکس

PHP 4

گزینه پیش‌فرض --with-mysql فعال شده است. این رفتار پیش‌فرض می‌تواند با استفاده از گزینه پیکربندی --without-mysql غیرفعال شود. اگر MySQL فعال شود و مسیر نصب مشخص نشود، PHP از کتابخانه‌های اتصال مشتری MySQL استفاده خواهد کرد.

کاربرانی که از MySQL توسط برنامه‌های دیگر استفاده می‌کنند (مثلاً auth-mysql) نباید از کتابخانه‌های متصل شده استفاده کنند، بلکه باید مسیر نصب MySQL را مشخص کنند، مانند این: --with-mysql=/path/to/mysql. این کار باعث می‌شود که PHP از کتابخانه‌های اتصال مشتری که با MySQL نصب شده استفاده کند و از هرگونه تداخل جلوگیری شود.

PHP 5+

MySQL پیش‌فرض غیرفعال است و هیچ کتابخانه MySQL متصل شده‌ای وجود ندارد. برای افزودن پشتیبانی از MySQL از گزینه‌ی پیکربندی --with-mysql[=DIR] استفاده کنید. می‌توانید از MySQL فایل‌های سربرگ و کتابخانه‌ها را دانلود کنید.

نصب در سیستم ویندوز

PHP 4

扩展 PHP MySQL به صورت پیش‌فرض در PHP编译 شده است.

PHP 5+

MySQL پیش‌فرض غیرفعال است، بنابراین باید در فایل php.ini کتابخانه‌های پویا php_mysql.dll فعال شوند. علاوه بر این، PHP نیاز به دسترسی به کتابخانه‌های اتصال مشتری MySQL دارد. نسخه‌های ویندوزی PHP شامل یک فایل libmysql.dll می‌شود، تا PHP بتواند با MySQL ارتباط برقرار کند، این فایل باید در مسیر سیستم ویندوز PATH قرار گیرد.

برای فعال‌سازی هر کتابخانه‌های گسترش PHP (مثلاً php_mysql.dll)، دستور extension_dir باید به دایرکتوری کتابخانه‌های گسترش PHP تنظیم شود. یک مثال از 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 نام سوکت پیش‌فرض استفاده شده. از 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 Function

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() آی‌دی ایجاد شده در عملیات 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 flags 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 The non-active time 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 the index names of the array.  
MYSQL_BOTH The returned data columns use field names and numeric indices as the index names of the array.  
MYSQL_NUM

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

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