Fungsi MySQL PHP

Ringkasan PHP MySQL

Fungsi MySQL memungkinkan Anda mengakses server database MySQL.

Instalasi

Untuk dapat menggunakan fungsi kelas ini dengan lancar, harus menambahkan dukungan MySQL saat pengkompilasi PHP.

Pada waktu pengkompilasi, cukup gunakan opsi konfigurasi --with-mysql[=DIR], di mana [DIR] adalah direktori instalasi MySQL.

Walaupun library ekstensi MySQL ini kompatibel dengan MySQL 4.1.0 dan versi setelahnya, tetapi ia tidak mendukung fitur ekstra yang disediakan oleh versi ini. Untuk menggunakan fitur ini, gunakan ekstensi library MySQLi.

Jika ingin menginstal secara bersamaan ekstensi library mysql dan mysqli, harus digunakan library client yang sama untuk menghindari konflik.

Instalasi di sistem Linux

PHP 4

Opsi --with-mysql diaktifkan secara standar. Perilaku standar ini dapat dihentikan dengan opsi konfigurasi --without-mysql. Jika MySQL diaktifkan tanpa menentukan direktori instalasi, PHP akan menggunakan library koneksi client MySQL yang diikat.

Untuk pengguna lainnya yang menggunakan MySQL (misalnya auth-mysql) jangan gunakan library yang diikat, tetapi tentukan direktori instalasi MySQL, seperti ini: --with-mysql=/path/to/mysql. Ini akan memaksa PHP untuk menggunakan library koneksi client yang disertakan dalam instalasi MySQL, sehingga dapat menghindari konflik.

PHP 5+

MySQL standar belum diaktifkan, dan tidak ada library MySQL yang diikat. Gunakan opsi konfigurasi --with-mysql[=DIR] untuk menambahkan dukungan MySQL. Dapat diambil MySQL Unduh header file dan library.

Instalasi di sistem Windows

PHP 4

Ekstensi PHP MySQL sudah dikompile ke PHP.

PHP 5+

MySQL standar belum diaktifkan, jadi harus diaktifkan dalam berkas php.ini penghubung dynamic library php_mysql.dll. Selain itu, PHP masih memerlukan akses ke library koneksi client MySQL. Edisi Windows PHP termasuk libmysql.dll, untuk membuat PHP dapat berbicara dengan MySQL, berkas ini harus disisipkan di path sistem Windows.

Untuk mengaktifkan setiap pustaka ekstensi PHP (contoh php_mysql.dll), perintah extension_dir harus diatur ke direktori tempat berada pustaka ekstensi PHP. Sebuah contoh nilai extension_dir di PHP 5 adalah c:\php\ext.

Komentar:Jika muncul kesalahan seperti berikut saat memulai layanan web server: "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.

Opsi konfigurasi MySQL:

Nama Default Deskripsi Dapat diubah
mysql.allow_persistent "1" Apakah diizinkan koneksi persisten MySQL. PHP_INI_SYSTEM
mysql.max_persistent "-1" Jumlah maksimum koneksi persisten dalam proses. PHP_INI_SYSTEM
mysql.max_links "-1" Jumlah maksimum koneksi dalam proses, termasuk koneksi persisten. PHP_INI_SYSTEM
mysql.trace_mode "0" Mode track. Tersedia sejak PHP 4.3.0. PHP_INI_ALL
mysql.default_port NULL Tentukan port TCP koneksi database 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 Sandi yang digunakan secara default. Tidak berlaku untuk mode keamanan SQL. PHP_INI_ALL
mysql.connect_timeout "60" Detik batas koneksi. PHP_INI_ALL

Jenis sumber daya

Dalam modul MySQL digunakan dua jenis sumber daya. Pertama adalah pengeksyen koneksi database, kedua adalah hasil set query SQL.

Fungsi MySQL PHP

PHP:Menunjukkan versi PHP yang paling awal yang mendukung fungsi ini.

Fungsi Deskripsi PHP
mysql_affected_rows() Kembalikan jumlah baris record yang dipengaruhi oleh operasi MySQL sebelumnya. 3
mysql_change_user() Tidak disarankan. Ganti pengguna yang aktif di koneksi yang aktif. 3
mysql_client_encoding() Kembalikan nama karakter set yang saat ini digunakan oleh koneksi. 4
mysql_close() Tutup koneksi MySQL yang tidak persisten. 3
mysql_connect() Buka koneksi MySQL yang tidak persisten. 3
mysql_create_db() Tidak disarankan. Buat database MySQL yang baru. Gunakan mysql_query() untuk menggantikannya. 3
mysql_data_seek() Pindahkan penanda record. 3
mysql_db_name() Kembalikan nama database dari pemanggilan mysql_list_dbs(). 3
mysql_db_query()

Tidak disarankan. Kirimkan query MySQL.

Gunakan mysql_select_db() dan mysql_query() untuk menggantikannya.

3
mysql_drop_db()

Tidak disarankan. Buang (hapus) database MySQL.

Gunakan mysql_query() untuk menggantinya.

3
mysql_errno() Kembalikan kode numerik untuk informasi kesalahan yang dihasilkan oleh operasi MySQL yang terakhir. 3
mysql_error() Kembalikan informasi kesalahan teks yang dihasilkan oleh operasi MySQL yang terakhir. 3
mysql_escape_string()

Tidak disarankan. Ekskapsi suatu string untuk mysql_query.

Gunakan mysql_real_escape_string() untuk menggantikannya.

4
mysql_fetch_array() Dapatkan baris dari hasil set sebagai array yang berhubungan, array angka, atau keduanya. 3
mysql_fetch_assoc() Dapatkan baris dari hasil set sebagai array yang berhubungan. 4
mysql_fetch_field() Dapatkan informasi kolom dari hasil set dan kembalikan sebagai objek. 3
mysql_fetch_lengths() Dapatkan panjang konten setiap kolom di hasil set. 3
mysql_fetch_object() Dapatkan baris dari hasil set sebagai objek. 3
mysql_fetch_row() Dapatkan baris dari hasil set sebagai array angka. 3
mysql_field_flags() Dapatkan tanda yang berhubungan dengan kolom yang ditentukan dari hasil. 3
mysql_field_len() Kembalikan panjang kolom yang ditentukan. 3
mysql_field_name() Dapatkan nama field yang ditentukan dalam hasil. 3
mysql_field_seek() Atur penunjuk dalam hasil ke offset field 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() Lepas 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 yang paling baru tentang permintaan. 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 disetujui. Daftar kolom di hasil MySQL.

Gunakan mysql_query() untuk menggantinya.

3
mysql_list_processes() Daftar proses MySQL. 4
mysql_list_tables()

Tidak disetujui. Daftar tabel di database MySQL.

Gunakan mysql_query() untuk menggantinya.

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 tidak ada koneksi lakukan koneksi kembali. 4
mysql_query() Kirim sebuah 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 disetujui. Dapatkan nama tabel. Gunakan mysql_query() untuk menggantinya. 3
mysql_thread_id() Mengembalikan ID thread saat ini. 4
mysql_unbuffered_query() Mengirimkan sebuah queri SQL ke MySQL (tidak mengambil / menyimpan hasil). 4

Konstanta MySQL PHP

Dari versi PHP 4.3.0 ke depan, diizinkan untuk menentukan lebih banyak tanda klien di fungsi mysql_connect() dan mysql_pconnect():

PHP:Menandai versi PHP yang paling awal yang mendukung konstanta ini.

Konstanta Deskripsi PHP
MYSQL_CLIENT_COMPRESS Menggunakan protokol komunikasi yang disempurnakan. 4.3
MYSQL_CLIENT_IGNORE_SPACE Izinkan untuk meninggalkan spasi kosong di belakang nama fungsi. 4.3
MYSQL_CLIENT_INTERACTIVE Waktu timeout interaksi yang diijinkan sebelum koneksi ditutup. 4.3
MYSQL_CLIENT_SSL Menggunakan pengenkripsi SSL (hanya tersedia saat versi pustaka klien MySQL adalah 4+). 4.3

Fungsi mysql_fetch_array() menggunakan konstanta untuk menandai tipe array yang dihasilkan:

Konstanta Deskripsi PHP
MYSQL_ASSOC Data yang dihasilkan menggunakan nama bidang sebagai nama indeks array.  
MYSQL_BOTH Data yang dihasilkan menggunakan nama bidang dan indeks numerik sebagai nama indeks array.  
MYSQL_NUM

Data yang dihasilkan menggunakan indeks numerik sebagai nama indeks array.

Indeks dimulai dari 0, yang menandakan bidang pertama yang dihasilkan.