Fungsi MySQL PHP
- Halaman Sebelumnya PHP Math
- Halaman Berikutnya PHP MySQLi
PHP MySQL 简介
MySQL 函数允许您访问 MySQL 数据库服务器。
安装
为了能够顺利的使用本类函数,必须在编译 PHP 时添加对 MySQL 的支持。
编译时,只要使用 --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.ini 中激活 php_mysql.dll 动态连接库。此外,PHP 还需要访问 MySQL 客户端连接库。PHP 的 Windows 发行版包括了一个 libmysql.dll,为了让 PHP 能和 MySQL 对话,此文件必须放在 Windows 的系统路径 PATH 中。
Untuk mengaktifkan pustaka ekstensi PHP apapun (misalnya php_mysql.dll), perintah extension_dir harus diatur ke direktori tempat pustaka ekstensi PHP berada. Contoh nilai extension_dir di PHP 5 adalah c:\php\ext.
Keterangan:Jika muncul kesalahan seperti berikut saat memulai server web: "Unable to load dynamic library './php_mysql.dll'" ini disebabkan sistem tidak dapat menemukan php_mysql.dll dan / atau libmysql.dll.
Konfigurasi Runtime
Perilaku fungsi MySQL dipengaruhi oleh pengaturan di php.ini.
Pilihan konfigurasi MySQL:
Nama | Default | Penerangan | Dapat diubah |
---|---|---|---|
mysql.allow_persistent | "1" | Apakah mengizinkan koneksi tetap MySQL. | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | Jumlah maksimum koneksi tetap dalam proses. | PHP_INI_SYSTEM |
mysql.max_links | "-1" | Jumlah maksimum koneksi dalam proses, termasuk koneksi tetap. | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | Mode penerus. Tersedia sejak PHP 4.3.0. | PHP_INI_ALL |
mysql.default_port | NULL | Tentukan port TCP koneksi database yang digunakan secara default. | PHP_INI_ALL |
mysql.default_socket | NULL | Nama socket yang digunakan secara default. Tersedia sejak PHP 4.0.1. | PHP_INI_ALL |
mysql.default_host | NULL | Alamat server yang digunakan secara default. Tidak berlaku untuk mode keamanan SQL. | PHP_INI_ALL |
mysql.default_user | NULL | Nama pengguna yang digunakan secara default. Tidak berlaku untuk mode keamanan SQL. | PHP_INI_ALL |
mysql.default_password | NULL | Kata sandi yang digunakan secara default. Tidak berlaku untuk mode keamanan SQL. | PHP_INI_ALL |
mysql.connect_timeout | "60" | Detik kelebihan koneksi. | PHP_INI_ALL |
Jenis Sumber Daya
Dalam modul MySQL digunakan jenis sumber daya yang berbeda. Jenis pertama adalah pengecekan koneksi database, jenis kedua adalah hasil set dari query SQL.
Fungsi MySQL PHP
PHP:指示支持该函数的最早的 PHP 版本。
函数 | Penerangan | 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 数据库。 Gunakan mysql_query() sebagai pengganti. |
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() | Dapatkan nama kolom yang ditentukan dalam hasil. | 3 |
mysql_field_seek() | Atur pointer hasil ke offset kolom yang ditentukan. | 3 |
mysql_field_table() | Dapatkan nama tabel tempat kolom ada. | 3 |
mysql_field_type() | Dapatkan tipe kolom yang ditentukan dalam hasil. | 3 |
mysql_free_result() | Lepaskan memori hasil. | 3 |
mysql_get_client_info() | Dapatkan informasi klien MySQL. | 4 |
mysql_get_host_info() | Dapatkan informasi host MySQL. | 4 |
mysql_get_proto_info() | Dapatkan informasi protokol MySQL. | 4 |
mysql_get_server_info() | Dapatkan informasi server MySQL. | 4 |
mysql_info() | Dapatkan informasi tentang query terbaru. | 4 |
mysql_insert_id() | Dapatkan ID yang dihasilkan oleh operasi INSERT sebelumnya. | 3 |
mysql_list_dbs() | Daftar semua database di server MySQL. | 3 |
mysql_list_fields() |
tidak disokongkan. Daftar kolom dalam hasil MySQL. Gunakan mysql_query() sebagai pengganti. |
3 |
mysql_list_processes() | Daftar proses MySQL. | 4 |
mysql_list_tables() |
tidak disokongkan. Daftar tabel di dalam database MySQL. Gunakan mysql_query() sebagai pengganti. |
3 |
mysql_num_fields() | Dapatkan jumlah kolom dalam hasil. | 3 |
mysql_num_rows() | Dapatkan jumlah baris dalam hasil. | 3 |
mysql_pconnect() | Buka koneksi tetap ke server MySQL. | 3 |
mysql_ping() | Ping koneksi server, jika koneksi tidak ada lakukan koneksi ulang. | 4 |
mysql_query() | Kirim permintaan MySQL. | 3 |
mysql_real_escape_string() | Eskap karakter khusus yang digunakan dalam kalimat SQL. | 4 |
mysql_result() | Dapatkan data hasil. | 3 |
mysql_select_db() | Pilih database MySQL. | 3 |
mysql_stat() | Dapatkan status sistem saat ini. | 4 |
mysql_tablename() | tidak disokongkan. Dapatkan nama tabel. Gunakan mysql_query() sebagai pengganti. | 3 |
mysql_thread_id() | Kembalikan ID rangkaian semasa. | 4 |
mysql_unbuffered_query() | Hantar satu kerja kerja SQL kepada MySQL (tidak mengambil / mengecache hasil). | 4 |
Konstanta MySQL PHP
Dari versi PHP 4.3.0 ke atas, iaitu diizinkan untuk menentukan lebih banyak tanda penggunaan pelanggan dalam fungsi mysql_connect() dan mysql_pconnect():
PHP:Menunjukkan versi PHP paling awal yang mendukung konstanta ini.
Konstanta | Penerangan | PHP |
---|---|---|
MYSQL_CLIENT_COMPRESS | Gunakan protokol komunikasi yang dipaksa. | 4.3 |
MYSQL_CLIENT_IGNORE_SPACE | Izinkan ruang kosong di belakang nama fungsi. | 4.3 |
MYSQL_CLIENT_INTERACTIVE | Waktu lembut interaksi yang diizinkan sebelum koneksi ditutup. | 4.3 |
MYSQL_CLIENT_SSL | Gunakan pengenkripsi SSL (hanya tersedia untuk versi pustaka pelanggan MySQL 4+). | 4.3 |
Fungsi mysql_fetch_array() menggunakan konstanta untuk menunjukkan jenis array yang dihasilkan:
Konstanta | Penerangan | PHP |
---|---|---|
MYSQL_ASSOC | Medan yang dihasilkan menggunakan nama medan sebagai nama indeks array. | |
MYSQL_BOTH | Medan yang dihasilkan menggunakan nama medan dan indeks angka sebagai nama indeks array. | |
MYSQL_NUM |
Medan yang dihasilkan menggunakan indeks angka sebagai nama indeks array. Indeks bermula daripada 0, menunjukkan medan pertama yang dihasilkan. |
- Halaman Sebelumnya PHP Math
- Halaman Berikutnya PHP MySQLi