PHP می‌اسل فنکشن

پی ایچ پی MySQL معرف

MySQL فنکشن آپ کو MySQL ڈاٹا بیس سرور تک رسائی فراہم کرتا ہے۔

نصب

یہ کلائنٹ فنکشن کا استعمال کرسکتا ہے، پی ایچ پی کو کامپائل کرتے وقت MySQL کی حمایت کا حصول کریں۔

کامپائل کریں کے دوران صرف --with-mysql[=DIR] کانفیگ آپشن کا استعمال کریں، جس میں اختیاری [DIR] MySQL کی نصب کی دائرہ راستہ کا نشان دہی کرتا ہے۔

اگرچہ یہ MySQL ایکسینڈیشن لیبر MySQL 4.1.0 اور اس کی بعد کی تمام نسلوں کے ساتھ تعامل جاری رکھتی ہے، لیکن یہ نسلوں کی اضافی خصوصیات کو نہیں دکھاتا ہے۔ یہ خصوصیات کا استعمال کریں تاکہ MySQLi ایکسینڈیشن لیبر کا استعمال کریں۔

اگر mysql ایکسینڈیشن لیبر اور mysqli ایکسینڈیشن لیبر دونوں کو ایک ساتھ نصب کرنا ہے تو کوئی تعارض بجٹ کی روک تھام کے لئے ایک ہی کلائنٹ لیبر کا استعمال کریں۔

لینکس نظام پر نصب

پی ایچ پی 4

بناطنی طور پر --with-mysql آپشن فعال کیا گیا ہے۔ اس بناطنی طور پر کئے جانے والی آپشن کو --without-mysql کانفیگ آپشن کا استعمال کرکے روکا جاسکتا ہے۔ اگر MySQL کو فعال کیا گیا ہے اور نصب کا دائرہ راستہ طے نہیں کیا گیا تو پی ایچ پی کو بند لیبر کا استعمال کرنا ہوگا۔

MySQL کا استعمال کرنے والی دیگر ایپلیکیشنز (مثلاً auth-mysql) کا استعمال بند لیبر نہ کریں، بلکہ MySQL کی نصب کا دائرہ راستہ طے کریں، مثلاً --with-mysql=/path/to/mysql۔ یہ کریئر پی ایچ پی کو MySQL کے ساتھ نصب شدہ کلائنٹ کنکشن لیبر کا استعمال کرنا مجبور کرے گا، جس سے کوئی تعارض بجٹ نہیں ہوگا۔

پی ایچ پی 5+

MySQL میں بناطنی طور پر فعال نہیں کیا گیا ہے، نا ہی کوئی بایندھتہ MySQL لیبر ہے۔ --with-mysql[=DIR] کانفیگ آپشن کا استعمال کرکے MySQL کی حمایت کا حصول کریں۔ سے MySQL سرور فائل اور لیبر ڈاؤن لوڈ کریں۔

ویندوز نظام پر نصب

پی ایچ پی 4

پی ایچ پی MySQL ایکسینڈیشن پی ایچ پی میں شامل ہے۔

پی ایچ پی 5+

MySQL میں بناطنی طور پر فعال نہیں کیا گیا ہے، لہذا php.ini میں php_mysql.dll دینامک کنکشن لیبر کو فعال کرنا چاہئے۔ مزید برآمد، پی ایچ پی کو MySQL کلائنٹ کنکشن لیبر تک رسائی حاصل کرنا چاہئے۔ پی ایچ پی کی ویندوز بھارتی کا ایکشامل libmysql.dll ہے، تاکہ پی ایچ پی بائیںMySQL کے ساتھ بات چیت کرسکے، اس فائل کو ویندوز کی پتھ میں رکھنا چاہئے۔

要激活任何 PHP 扩展库(例如 php_mysql.dll),PHP 指令 extension_dir 要被设为 PHP 扩展库所在的目录。PHP 5 下 extension_dir 取值的一个例子是 c:\php\ext。

注释:如果启动 web 服务器时出现类似如下的错误:"Unable to load dynamic library './php_mysql.dll'",这是因为系统找不到 php_mysql.dll 和 / 或 libmysql.dll。

Runtime 配置

MySQL 函数的行为受到 php.ini 中设置的影响。

MySQL 配置选项:

名称 默认 توضیح 可更改
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 می‌اسل فنکشن

PHP:نسخه‌ای از PHP که این توابع را پشتیبانی می‌کند را نشان می‌دهد.

توابع توضیح 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 استفاده می‌شوند را در زنجیره‌های مورد استفاده در SQL جایگزین کنید. 4
mysql_result() داده‌های نتیجه را بدست آورید. 3
mysql_select_db() بانک اطلاعاتی MySQL را انتخاب کنید. 3
mysql_stat() وضعیت سیستم فعلی را بدست آورید. 4
mysql_tablename() ناپسندم. نام جدول را بدست آورید. از mysql_query() به جای آن استفاده کنید. 3
mysql_thread_id() آی‌دی خطوط فعلی را بازمی‌گرداند. 4
mysql_unbuffered_query() یک جستجوی SQL به MySQL ارسال کنید (نتایج را دریافت یا ذخیره نمی‌کند). 4

مشخصات PHP MySQL

در نسخه‌های ۴.۳.۰ و بعد از آن، اجازه داده شده است که بیش از یک نشانه مشتری در توابع mysql_connect() و mysql_pconnect() مشخص شود:

PHP:نشان‌دهنده اولین نسخه‌ای از PHP که از این مشخصات پشتیبانی می‌کند.

مشخصات توضیح PHP
MYSQL_CLIENT_COMPRESS استفاده از پروتکل ارتباطی فشرده‌سازی شده. 4.3
MYSQL_CLIENT_IGNORE_SPACE اجازه دادن به خالی بودن فضاهای خالی در پس از نام توابع. 4.3
MYSQL_CLIENT_INTERACTIVE زمان تعلیق غیرفعال در بسته‌های تعاملی قبل از بستن اتصال. 4.3
MYSQL_CLIENT_SSL استفاده از رمزنگاری SSL (تنها در نسخه‌های ۴+ از کتابخانه مشتری MySQL قابل استفاده است). 4.3

توابع mysql_fetch_array() از یک مشخصات برای نشان‌دهنده نوع آرایه‌ای که بازمی‌گردد استفاده می‌کند:

مشخصات توضیح PHP
MYSQL_ASSOC داده‌های بازگردانده شده از طریق نام فیلد به عنوان نام‌های شاخص آرایه استفاده می‌شوند.  
MYSQL_BOTH داده‌های بازگردانده شده از طریق نام فیلد و شمارنده‌های عددی به عنوان نام‌های شاخص آرایه استفاده می‌شوند.  
MYSQL_NUM

داده‌های بازگردانده شده از طریق شمارنده‌های عددی به عنوان نام‌های شاخص آرایه استفاده می‌شوند.

شمارنده از ۰ شروع می‌شود و نشان‌دهنده اولین فیلد از نتایج بازمی‌گردد.