我正嘗試使用shell_exec和mysql命令創建數據庫。由於幾個原因,我不想使用php內建的mysql_query。但是,我不能得到下面的命令執行成功。任何人都可以告訴我一些錯誤的地方?如何使用php shell_exec和sql命令行創建數據庫
$test = shell_exec("mysql -u root -pmypassword create database db_hello;");
var_dump($test);
我正嘗試使用shell_exec和mysql命令創建數據庫。由於幾個原因,我不想使用php內建的mysql_query。但是,我不能得到下面的命令執行成功。任何人都可以告訴我一些錯誤的地方?如何使用php shell_exec和sql命令行創建數據庫
$test = shell_exec("mysql -u root -pmypassword create database db_hello;");
var_dump($test);
正確的語法是這樣的:
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);
問題可能是你的PHP MySQL的路徑腳本。 對我來說:/ usr/local/bin/mysqld(osx 10)
我真的很想知道「幾個原因」是什麼 –
shell_exec應該被禁用,我不認爲這是一個好主意,我永遠不會這樣做。 – markus
@ markus-tharkun以及'exec()','passthru()'和'system()' – AustinAllover