2014-07-14 46 views
0

我最近發現MySQL擴展在PHP中已被棄用,並且很快會被刪除。我決定開始嘗試我的舊代碼轉換爲新的擴展名,當使用的MySQLi不過,我收到拒絕訪問錯誤:無法使用MySQLi連接到數據庫,但可以使用MySQL

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"); 

我不明白我在做什麼錯?

+3

你不需要說:'$連接 - >連接()' –

+0

的參數是一個逗號分隔的服務器的詳細信息字符串。 – sn00k4h

+0

謝謝你,jreuab。刪除'$ connect-> connect()'後,我不再收到錯誤' – georges8899

回答

1

mysqli版本的mysql_connect()mysqli_connect()。如果你看看over here,你可以看到mysqli_connect()是一個mysqli對象的構造函數的別名,而不是它的一個方法。我希望這能爲你解決問題。祝你好運!

1

您的系統錯誤。 $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>"; }

+0

這實際上並非如此,請查看[over here](http://php.net/manual/en/mysqli.construct.php) 。 'dbname'是可選的,因爲它也可以在像這樣的SQL查詢中提供:'SELECT * FROM dbname.table'。 –

相關問題