2012-06-07 47 views
1

我正嘗試使用shell_exec和mysql命令創建數據庫。由於幾個原因,我不想使用php內建的mysql_query。但是,我不能得到下面的命令執行成功。任何人都可以告訴我一些錯誤的地方?如何使用php shell_exec和sql命令行創建數據庫

$test = shell_exec("mysql -u root -pmypassword create database db_hello;"); 

var_dump($test); 
+5

我真的很想知道「幾個原因」是什麼 –

+0

shell_exec應該被禁用,我不認爲這是一個好主意,我永遠不會這樣做。 – markus

+1

@ markus-tharkun以及'exec()','passthru()'和'system()' – AustinAllover

回答

6

正確的語法是這樣的:

mysql -u [username] -p -e "create database somedb" 

或者

mysql --user=user_name --password=your_password -e "SELECT 1 FROM information_schema.tables" 

參考:http://www.electrictoolbox.com/run-single-mysql-query-command-line/

$cmd = escapeshellcmd('mysql -u [username] -p -e "create database somedb"'); 
$test = shell_exec($cmd); 

var_dump($test); 
+0

當我通過mysql命令行運行時,該命令正常,但是,它通過php運行它不起作用 – Slay

+0

在php中試過你的代碼,它似乎不工作。返回NULL。 – Slay

+0

謝謝大家。決定改用mysql_query。 – Slay

0

問題可能是你的PHP MySQL的路徑腳本。 對我來說:/ usr/local/bin/mysqld(osx 10)

相關問題