PHP MySQL ฟังก์ชัน
- หน้าก่อนหน้า PHP Math
- หน้าต่อไป PHP MySQLi
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 แสดงถึงหน่วยข้อมูลแรกที่คืนค่า |
- หน้าก่อนหน้า PHP Math
- หน้าต่อไป PHP MySQLi