2

我正在尝试使用 shell_exec 和 mysql 命令创建数据库。由于几个原因,我不想使用 php 内置的 mysql_query。但是,我无法成功执行以下命令。任何人都可以告诉我出了什么问题?

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

var_dump($test);
4

2 回答 2

8

正确的语法是这样的:

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);
于 2012-06-07T23:15:38.520 回答
0

问题可能是您的 php 脚本中 mysql 的路径。对我来说是:/usr/local/bin/mysqld (osx 10)

于 2013-10-16T14:11:09.230 回答