我正尝试使用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