我一直在尝试设置一个Sql数据库,但我无法在php中连接它。这是我的代码的样子:
$conn = mysql_connect("my_sql_here.net","root",'my_password_here');
print $conn;
mysql_select_db("my_database",$conn);
$created = mysql_query("SELECT * FROM `inventory`);
if(!$created) {
print "error: ";
print mysql_error();
}
print json_encode($created);
mysql_close($conn);
当我运行此代码时,我得到:
错误:用户'dom710'@'localhost'拒绝访问(使用密码:否)false
为什么尝试连接到localhost?为什么尝试使用root作为密码? 我非常困惑。
答案 0 :(得分:0)
考虑使用PDO建立连接:
// Establish a connection
$host = 'my_sql_here.net';
$name = 'my_database';
$user = 'root';
$pass = 'my_password_here';
$dsn = "mysql:dbname=$name;host=$host;charset=utf8";
$conn = new PDO($dsn, $user, $pass);
// Perform your query
$query = 'SELECT * FROM `inventory`';
$statement = $conn->prepare($query);
$statement->execute();
$resultSet = $statement->fetchAll();
// Do stuff with your $resultSet
答案 1 :(得分:0)
您已配置安全模式。这就是它尝试连接到localhost的原因。
https://dev.mysql.com/doc/apis-php/en/apis-php-function.mysql-connect.html
$server
"在SQL安全模式下,此参数将被忽略,并且值为' localhost:3306'总是被使用。"
$username
"在SQL安全模式下,将忽略此参数,并使用拥有服务器进程的用户的名称。"
正如有人在评论中所说,你不应该使用这个功能,因为它已被弃用。