Melaksanakan Fail *.sql dalam PHP: Meneroka Penyelesaian
Melaksanakan .sql fail terus daripada PHP menimbulkan cabaran unik disebabkan oleh faktor tertentu kes tepi. Pernyataan yang biasa dalam skrip .sql mungkin tidak diiktiraf sebagai pernyataan SQL.
Penyelesaian Pilihan: Memanfaatkan Alat mysql
Pendekatan yang paling berkesan adalah dengan menggunakan alat mysql dan gunakannya dari PHP menggunakan fungsi seperti shell_exec(). Ini memastikan keserasian dengan semua pernyataan.
Kod Contoh Menggunakan shell_exec()
$command = 'mysql' . ' --host=' . $vals['db_host'] . ' --user=' . $vals['db_user'] . ' --password=' . $vals['db_pass'] . ' --database=' . $vals['db_name'] . ' --execute="SOURCE ' . $script_path ; $output1 = shell_exec($command . '/site_db.sql"'); $output2 = shell_exec($command . '/site_structure.sql"');
Shell_exec() lwn. exec()
Walaupun shell_exec() dan exec() kedua-duanya melaksanakan arahan luaran, shell_exec() menjalankan arahan dalam subkulit, manakala exec() menjalankan arahan dalam proses semasa dan tidak kembali sehingga arahan selesai.
Pertimbangan Lanjut
Untuk operasi pangkalan data yang meluas, pertimbangkan untuk menggunakan lapisan abstraksi pangkalan data seperti Zend_Db atau Doktrin. Lapisan ini menyediakan cara yang lebih mudah dan boleh dipercayai untuk berinteraksi dengan pangkalan data dalam PHP.
Sumber Berkaitan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Fail *.sql Luaran Dengan Berkesan Dalam Aplikasi PHP Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!