我有这样的代码:
if(!mysql\_connect($host,$user,$passwd)){ die("Hoops, error! ".mysql\_error()); }
从这里开始出现...no错误。
if(!mysql_select_db($db,$connect)){
$create_db = "CREATE DATABASE {$db}";
mysql_query($create_db,$connect);
mysql_query("USE DATABASE {$db}",$connect);
}.“没有选择数据库”的错误。如果数据库存在,如果不存在,我希望选择它,然后创建它并选择它。
为什么我的代码不对?
提前谢谢你
发布于 2009-02-12 00:38:50
在哪里保存mysql_connect()返回的值?别在这里看到。我认为$host、$user、$password和$db是提前正确设置的。但是,您正在向mysql_select_db传递一个可能没有正确设置的param。
$connect = mysql_connect($host,$user,$passwd);
if (!$connect) {
die('Could not connect: ' . mysql_error());
}
if(!mysql_select_db($db,$connect)) ...首先检查是否可以在不使用CREATE查询的情况下选择。尝试一个简单的SELECT查询开始。如果可以连接,选择db,然后执行select查询,这是一个步骤。然后尝试创建查询。如果这不起作用,那几乎肯定是一个权限问题。
发布于 2009-02-12 00:31:03
您可能需要对试图创建数据库的用户使用数据库创建权限。然后,您需要对有效的连接资源进行操作。$connect似乎从未被分配给连接资源。
发布于 2009-02-12 00:36:53
如果不存在语法,为什么不简单地使用创建数据库呢?
就像这样..。
$con = mysql_connect('localhost');
$sql = 'CREATE DATABASE IF NOT EXISTS {$db}';
if (mysql_query($sql, $con)) {
print("success.\n");
} else {
print("Database {$db} creation failed.\n");
}
if(!mysql_select_db($db,$connect)){
print("Database selection failed.\n");
}https://stackoverflow.com/questions/539511
复制相似问题