Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melaksanakan Fail MySQL *.sql daripada PHP Menggunakan shell_exec()?

Bagaimanakah Saya Boleh Melaksanakan Fail MySQL *.sql daripada PHP Menggunakan shell_exec()?

Patricia Arquette
Lepaskan: 2024-12-10 15:45:16
asal
498 orang telah melayarinya

How Can I Execute MySQL *.sql Files from PHP Using shell_exec()?

Melaksanakan MySQL *.sql Files dalam PHP

Apabila mencipta pangkalan data tapak web, anda mungkin menghadapi senario di mana anda perlu melaksanakan . fail sql daripada PHP untuk mengautomasikan penjanaan tapak. Walaupun Zend_Framework boleh memberi manfaat, menjalankan .fail sql terus daripada PHP boleh mencabar kerana ketidakkonsistenan dalam pernyataan SQL.

Penyelesaian: Menggunakan shell_exec()

Pendekatan yang disyorkan adalah untuk menggunakan alat mysql menggunakan shell_exec() untuk melaksanakan anda *.skrip sql. Berikut ialah contoh:

$command = 'mysql'
        . ' --host=' . $vals['db_host']
        . ' --user=' . $vals['db_user']
        . ' --password=' . $vals['db_pass']
        . ' --database=' . $vals['db_name']
        . ' --execute="SOURCE ' . $script_path
;
Salin selepas log masuk

Arahan ini mencipta perintah pelaksanaan MySQL dengan parameter yang diperlukan untuk melaksanakan fail *.sql yang dinyatakan dalam $script_path.

Perbezaan antara shell_exec() dan exec()

Walaupun kedua-dua fungsi melaksanakan luaran perintah, mereka mempunyai beberapa perbezaan. shell_exec() menangkap output perintah dan mengembalikannya sebagai rentetan, manakala exec() mengembalikan status pelaksanaan perintah. Dalam kes ini, shell_exec() lebih disukai untuk mendapatkan output arahan MySQL.

Pertimbangan Tambahan

Apabila melaksanakan fail *.sql, pastikan arahan itu merangkumi semua parameter yang diperlukan (db_host, db_user, db_pass, db_name) dan anda mempunyai kebenaran yang mencukupi untuk melaksanakan skrip. Selain itu, gunakan pilihan --execute="SOURCE ..." dan bukannya < untuk melaksanakan fail.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Fail MySQL *.sql daripada PHP Menggunakan shell_exec()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan