1

我目前在使用 PHP 5 的 Apache 2.2 上。我正在尝试连接到我的 Apache 服务器上的 MySQL 并创建一个名为 my_db 的数据库...我有以下代码:

<?php
$con=mysqli_connect();
// Check connection
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}else{
echo "Connected Successfully!";
}
// Create database
$sql="CREATE DATABASE my_db";
if (mysqli_query($con,$sql)){
echo "Database my_db created successfully";
}else{
echo "Error creating database: " . mysqli_error();
}
?> 

但是,当脚本运行时,我得到以下输出:

连接成功!创建数据库时出错:

请帮忙。这不是身份验证问题,因为“连接成功!” 被印...

先感谢您!

4

3 回答 3

1

您可以使用以下方法查询用户权限的概览:

SHOW GRANTS FOR 'user'@'host';
于 2013-04-10T16:21:50.693 回答
0

尝试在 mysql 命令行上创建一个新用户,授予该用户所有权限,然后以该新用户身份连接并尝试创建数据库。这应该可以解决您的问题。假设您在 localhost 上连接到 mysql,则创建新用户所需的代码是:

bash# mysql --user=root -p

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' WITH GRANT OPTION;
于 2013-04-10T16:19:39.293 回答
0

替换 echo "Error creating database: " . mysqli_error();echo "Error creating database: " . mysqli_error($con);

$con在函数中作为参数添加mysqli_error,你会得到确切的错误,

http://php.net/mysqli_error

于 2019-02-05T12:12:51.043 回答