PHP MySQL ฟังก์ชัน

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 (เช่น 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 คลายเครื่องปฏิบัติการการเชื่อมต่อลูกค้าได้ด้วย PHP แบบ Windows ได้มี libmysql.dll มาด้วยในการแพ็คเกจเพื่อให้ PHP สามารถติดต่อ MySQL ได้ ได้ต้องทำให้ไฟล์นี้อยู่ในทางด่วน PATH ของ Windows

เพื่อจะเปิดใช้ PHP แฟรมเวอร์เครตรวมทั้ง php_mysql.dll ต้องตั้งค่าคำสั่ง extension_dir ให้เป็นไดเรกทอรีที่มี PHP แฟรมเวอร์เครตรวมทั้ง php_mysql.dll อยู่ PHP 5 ตัวอย่างหนึ่งคือ 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_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 ฟังก์ชัน

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

ใช้ Use mysql_query() แทน

3
mysql_num_fields() ได้รับจำนวนฟิลด์ในผลลัพธ์ 3
mysql_num_rows() ได้รับจำนวนบรรทัดในผลลัพธ์ 3
mysql_pconnect() เปิดการเชื่อมต่อสายคงที่สู่เซิร์ฟเวอร์ MySQL 3
mysql_ping() 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() คืน ID ของเส้นทางปัจจุบัน 4
mysql_unbuffered_query() ส่งคำสั่ง SQL ไปยัง MySQL (ไม่ได้รับ / จัดเก็บผลลัพธ์) 4

ค่ายาง PHP MySQL

ในเวอร์ชัน PHP 4.3.0 หลังจากนี้ อนุญาตให้กำหนดตัวที่สามฟิลด์ลูกค้าใน 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+) 4.3

ฟังก์ชัน mysql_fetch_array() ใช้ค่ายางเพื่อแสดงรูปแบบของตัวแปรแบบมาตราที่คืนค่า:

ค่ายาง รายละเอียด PHP
MYSQL_ASSOC คอลัมน์ข้อมูลที่คืนค่าใช้ชื่อฟิลด์เป็นชื่อแถวของตัวแปรแบบมาตรา  
MYSQL_BOTH คอลัมน์ข้อมูลที่คืนค่าใช้ชื่อฟิลด์และดัชนีเลขเป็นชื่อแถวของตัวแปรแบบมาตรา  
MYSQL_NUM

คอลัมน์ข้อมูลที่คืนค่าใช้ดัชนีเลขเป็นชื่อแถวของตัวแปรแบบมาตรา

ดัชนีเริ่มต้นที่ 0 แสดงถึงหน่วยข้อมูลแรกที่คืนค่า