PDO_MYSQL ialah pemacu yang melaksanakan antara muka PHP Data Objects (PDO) untuk mendayakan akses daripada PHP ke pangkalan data MySQL. Apabila menjalankan versi PHP sebelum 7.1.16, atau PHP 7.2 sebelum 7.2.4, tetapkan pemalam kata laluan lalai MySQL 8 Server kepada mysql_native_password atau anda akan melihat ralat yang serupa dengan Pelayan meminta kaedah pengesahan yang tidak diketahui oleh klien [caching_sha2_password] walaupun semasa caching_sha2_password tidak digunakan. Ini kerana MySQL 8 lalai kepada caching_sha2_password, pemalam yang tidak dikenali oleh keluaran PHP (mysqlnd) yang lebih lama. Sebaliknya, ubahnya dengan menetapkan dalam . Pemalam caching_sha2_password akan disokong dalam keluaran PHP akan datang. Sementara itu, sambungan mysql_xdevapi menyokongnya. Amaran Berhati-hati: Sesetengah jenis jadual MySQL (enjin storan) tidak menyokong transaksi. Apabila menulis kod pangkalan data transaksi menggunakan jenis jadual yang tidak menyokong transaksi, MySQL akan berpura-pura bahawa transaksi telah dimulakan dengan jayanya. Di samping itu, sebarang pertanyaan DDL yang dikeluarkan akan secara tersirat sebarang transaksi yang belum selesai. Pemacu MySQL tidak menyokong dengan betul melalui PDOStatement::bindParam manakala parameter tersebut boleh digunakan, ia tidak dikemas kini (iaitu output sebenar diabaikan) Pengedaran Unix biasa termasuk versi binari PHP yang boleh dipasang. Walaupun versi binari ini biasanya dibina dengan sokongan untuk sambungan MySQL, perpustakaan sambungan itu sendiri mungkin perlu dipasang menggunakan pakej tambahan. Semak pengurus pakej yang disertakan dengan pengedaran pilihan anda untuk ketersediaan. Sebagai contoh, pada Ubuntu pakej memasang sambungan PHP ext/mysql, ext/mysqli dan PDO_MYSQL. Pada CentOS, pakej juga memasang tiga sambungan PHP ini. Sebagai alternatif, anda boleh menyusun sambungan ini sendiri. Membina PHP daripada sumber membolehkan anda menentukan sambungan MySQL yang anda ingin gunakan, serta pilihan perpustakaan klien anda untuk setiap sambungan. Apabila menyusun, gunakan --with-pdo-mysql[=DIR] untuk memasang sambungan PDO MySQL, di mana pilihannya ialah perpustakaan asas MySQL. Mysqlnd ialah perpustakaan lalai. Untuk butiran tentang memilih perpustakaan, lihat Memilih perpustakaan MySQL. Secara pilihan, --with-mysql-sock[=DIR] menetapkan lokasi kepada penuding soket unix MySQL untuk semua sambungan MySQL, termasuk PDO_MYSQL. Jika tidak ditentukan, lokasi lalai akan dicari. Secara pilihan, --with-zlib-dir[=DIR] digunakan untuk menetapkan laluan ke awalan pemasangan libz. Sokongan SSL didayakan menggunakan pemalar PDO_MySQL yang sesuai, yang setara dengan memanggil fungsi ÃÂû MySQL C API mysql_ssl_set Selain itu, SSL tidak boleh didayakan dengan PDO::setAttribute kerana sambungan sudah wujud. Lihat juga dokumentasi MySQL tentang ÃÂû menyambung ke MySQL dengan SSL Pemalar di bawah ditakrifkan oleh pemacu ini dan hanya akan tersedia apabila sambungan sama ada telah disusun ke dalam PHP atau dimuatkan secara dinamik semasa masa jalan. Selain itu, pemalar khusus pemacu ini hanya boleh digunakan jika anda menggunakan pemacu ini. Menggunakan atribut khusus pemandu dengan pemandu lain boleh mengakibatkan tingkah laku yang tidak dijangka. PDO::getAttribute() boleh digunakan untuk mendapatkan atribut untuk menyemak pemacu, jika kod anda boleh dijalankan terhadap berbilang pemacu. pada , pemacu MySQL akan menggunakan versi buffer API MySQL. Jika anda menulis kod mudah alih, anda harus menggunakan sebaliknya. Jika atribut ini ditetapkan pada a, pemacu MySQL akan menggunakan versi buffer API MySQL. Jika anda menulis kod mudah alih, anda harus menggunakan sebaliknya. Contoh #1 Memaksa pertanyaan untuk ditimbal dalam mysql "aplikasi saya hanya berfungsi dengan mysql; saya harus menggunakan \$stmt->fetchAll() sebaliknya"Perhatikan, pemalar ini hanya boleh digunakan dalam tatasusunan apabila membina pemegang pangkalan data baharu. Membenarkan mengehadkan pemuatan DATA TEMPATAN kepada fail yang terdapat dalam direktori yang ditetapkan ini. Tersedia mulai PHP 8.1.0. Perhatikan, pemalar ini hanya boleh digunakan dalam tatasusunan apabila membina pemegang pangkalan data baharu. Perintah untuk dilaksanakan apabila menyambung ke pelayan MySQL. Akan secara automatik dilaksanakan semula apabila menyambung semula. Perhatikan, pemalar ini hanya boleh digunakan dalam tatasusunan apabila membina pemegang pangkalan data baharu. Baca pilihan daripada fail pilihan yang dinamakan dan bukannya daripada . Pilihan ini tidak tersedia jika mysqlnd digunakan, kerana mysqlnd tidak membaca fail konfigurasi mysql. Baca pilihan daripada kumpulan bernama daripada atau fail yang ditentukan dengan . Pilihan ini tidak tersedia jika mysqlnd digunakan, kerana mysqlnd tidak membaca fail konfigurasi mysql. Saiz penimbal maksimum. Lalai kepada 1 MiB. Pemalar ini tidak disokong apabila disusun terhadap mysqlnd. Kembalikan bilangan baris yang ditemui (dipadanankan), bukan bilangan baris yang diubah. Laluan fail ke pihak berkuasa sijil SSL. Laluan fail ke direktori yang mengandungi sijil SSL CA yang dipercayai, yang disimpan dalam format PEM. Laluan fail ke sijil SSL. Senarai satu atau lebih sifir yang dibenarkan untuk digunakan untuk penyulitan SSL, dalam format yang difahami oleh OpenSSL. Contohnya: Laluan fail ke kunci SSL. Menyediakan cara untuk melumpuhkan pengesahan sijil SSL pelayan. Ini wujud pada PHP 7.0.18 dan PHP 7.1.4. Melumpuhkan pelaksanaan berbilang pertanyaan dalam kedua-dua PDO::prepare() dan PDO::query() apabila ditetapkan kepada . Perhatikan, pemalar ini hanya boleh digunakan dalam tatasusunan apabila membina pemegang pangkalan data baharu Kelakuan fungsi ini dipengaruhi oleh tetapan dalam . Untuk butiran lanjut dan takrifan mod PHP_INI_*, lihat Untuk butiran lanjut dan takrifan mod PHP_INI_*, lihat Di mana tetapan konfigurasi boleh ditetapkan Menetapkan soket domain Unix. Nilai ini sama ada boleh ditetapkan pada masa penyusunan jika soket domain ditemui pada konfigurasi. Tetapan ini adalah Unix sahaja. Mendayakan penyahpepijatan untuk PDO_MYSQL. Tetapan ini hanya tersedia apabila PDO_MYSQL disusun terhadap mysqlnd dan dalam mod nyahpepijat PDO.