首頁 > 資料庫 > mysql教程 > 如何在 PHP 應用程式中有效執行外部 *.sql 檔案?

如何在 PHP 應用程式中有效執行外部 *.sql 檔案?

Patricia Arquette
發布: 2024-12-12 12:48:14
原創
127 人瀏覽過

How Can I Effectively Execute External *.sql Files Within My PHP Applications?

在PHP 中執行*.sql 檔案:探索解決方案

直接從PHP 執行.sql 文件會帶來獨特的挑戰,因為某些原因邊緣情況。 .sql 腳本中常見的語句可能不會被辨識為 SQL 語句。

首選解決方案:利用 mysql 工具

最有效的方法是利用mysql 工具並使用 shell_exec() 等函數從 PHP 調用它。這確保了與所有語句的兼容性。

使用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() 與exec()

雖然) 和exec() 都執行外部指令,但shell_exec()在子 shell 中執行命令,而 exec() 在目前進程中執行命令,直到命令完成才返回。

進一步注意事項

對於廣泛的資料庫操作時,請考慮使用資料庫抽象層,例如 Zend_Db 或 Doctrine。這些層提供了一種更方便、更可靠的方式來與 PHP 中的資料庫互動。

相關資源:

  • [從內部載入.sql 檔案PHP](https://stackoverflow.com/questions/2586/loading-sql- files-from-within-php)
  • [是否可以從另一個sql中的預存程序呼叫sql腳本腳本? ](https://dba.stackexchange.com/questions/216678/is-it-possible-to-call-a-sql-script-from-a-stored-procedure-in-another-sql-script)
  • [PHP:一個mysql_query 中的多個SQL查詢語句](https://stackoverflow.com/questions/27075986/php-multiple-sql-queries-in-one-mysql-query-statement)

以上是如何在 PHP 應用程式中有效執行外部 *.sql 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板