我在尝试在php中创建一个新的MySQL数据库时遇到问题,
我的代码是:
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = ‘somepassword’;
$conn = new mysqli($dbhost, $dbuser, $dbpass);
if(!$conn->connect_error )
{
die('Could not connect: %s' . $conn->connect_error);
}
echo "Connected successfully\n";
$sql = "CREATE DATABASE TUTORIALS2";
if($conn->query($sql)===TRUE){
echo "Created the database\n";
}
else {
echo "Failed to create the database".$conn->error;
}
//Close the database
$conn->close();
?>
MySQL连接正常,但它不允许我创建一个新的数据库。我不知道我在这里做错了什么。任何指针都将非常感谢!
答案 0 :(得分:4)
第二次编辑: 我不知何故错过了这个,道歉。
你在这里犯了错误:
if(!$conn->connect_error )
应该是
if($conn->connect_error )
见http://php.net/manual/en/mysqli.connect-error.php
编辑:
从php或PhpMyAdmin或类似程序运行此查询SHOW GRANTS FOR 'root'@'localhost';
,看看用户root是否有权创建数据库。
更多http://dev.mysql.com/doc/refman/5.0/en/show-grants.html
首先,你需要enable error_reporting,其次你在这一行上有一些不好的引用
$dbpass = ‘somepassword’;
像这样替换
$dbpass = 'somepassword';