Menjalankan MySQL *.sql Files from PHP
Melaksanakan .sql files dari dalam PHP boleh memberikan cabaran, terutamanya apabila mengautomasikan tapak generasi. Walaupun tiada cara langsung untuk melaksanakan skrip .sql dalam PHP, menggunakan alat MySQL menggunakan shell_exec() boleh memberikan penyelesaian.
Kaedah Pelaksanaan Shell
Menggunakan shell_exec(), anda boleh membina arahan yang memanggil alat mysql dengan bendera yang sesuai dan parameter:
$command = 'mysql' . ' --host=' . $vals['db_host'] . ' --user=' . $vals['db_user'] . ' --password=' . $vals['db_pass'] . ' --database=' . $vals['db_name'] . ' --execute="SOURCE ' . $script_path;
Melalukan nama fail dengan --execute="SOURCE ..." memastikan fail dilaksanakan. Walau bagaimanapun, ambil perhatian bahawa menggunakan shell_exec() memerlukan anda menyediakan akses konsol, yang mungkin tidak tersedia dalam persekitaran tertentu.
Kaedah Alternatif
Untuk penyelesaian yang lebih fleksibel yang berfungsi pada kedua-dua platform Windows dan UNIX, anda boleh menggunakan arahan berikut:
$command = "mysql --user={$vals['db_user']} --password='{$vals['db_pass']}' " . "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}";
Arahan ini secara langsung memanggil fail .sql menggunakan operator kurang daripada (<). Ia tidak memerlukan akses konsol dan menyediakan kaedah yang boleh dipercayai untuk melaksanakan fail .sql daripada skrip PHP.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Menjalankan Fail MySQL .sql daripada PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!