从PHP代码中删除数据库

时间:2014-09-28 13:01:08

标签: php mysql database

我想在php代码中删除一个数据库。 在我的应用程序中,我有以下代码。

$cmd = "mysql -h $host --port=$port -u $user -p$pass -e 'create database $database'";
$logger->log("running command '$cmd'");
exec($cmd, $output, $status);

当到达代码时,它会挂起并且程序永远不存在。 根据log命令是正确的。 这是日志有以下行。

running command 'mysql -h localhost --port=3306 -u root -p123 -e 'drop database my_test_db''

我复制了命令并在终端上手动运行。然后它在几秒钟内删除了数据库。 然后我在一个简单的PHP脚本中硬编码命令并运行。然后它也在几秒钟内删除了数据库。

我无法弄清楚它在我的应用程序中挂起的原因。你可以帮帮我吗。

其他信息:在应用程序中,会为同一个数据库创建一个连接,并且在发生这种情况时已启动事务。

1 个答案:

答案 0 :(得分:0)

更好的方法是从PHP的常规连接创建或删除数据库,而不是调用外部命令。

创建数据库的功能 http://php.net/manual/en/function.mysql-create-db.php

删除数据库的功能 http://php.net/manual/en/function.mysql-drop-db.php