不能用MySQLi连接数据库,但可以用MySQL连接


Cannot connect to database with MySQLi but can with MySQL

我最近发现MySQL扩展在PHP中已经被弃用了,很快就会被删除。我决定开始使用MySQLi,但是当我试图将我的旧代码转换为新的扩展时,我收到一个访问拒绝错误:

Connect Error (1045) Access denied for user 'www-data'@'localhost' (using password: NO)

,

当使用这个代码时,我收到错误:

$connect = new mysqli("localhost","root","password1");
$connect->connect();

,

但是当我使用这段代码时,它工作得很好:

$connect = mysql_connect("localhost","root","password1");

我不明白我做错了什么?

mysql_connect()mysqli版本为mysqli_connect()。如果你看这里,你可以看到mysqli_connect()mysqli对象的构造函数的别名,而不是它的一个方法。我希望这能让你明白。好运!

您的系统有问题。$connect = new mysqli("localhost","root","password1");

您忘记了数据库名称

不需要$connect->connect()

答案是:

$connect = mysqli_connect("localhost","root","mypassw","mybatadase");

$query = "SELECT name FROM mytable";

$result = $connect->query($query);

//显示信息:

while($row = mysqli_fetch_array($result)) { echo $row["name"] . "<br>"; }