2016-10-24 111 views
-2

我已經將我的服務器上的php從版本5升級到7,並且我發現mysql函數已折舊,現在我應該使用mysqli。我更新了以下用於打印給定表中的行數的代碼(mysqli,而不是mysql),但它不像以前那樣工作。任何幫助不勝感激。使用PHP7計算Mysql中的行數

$link = mysql_connect("xxx", "xxx", "xxx"); 
mysql_select_db("xxx", $link); 

$result = mysql_query("SELECT * FROM blackandwhite", $link); 
$num_rows = mysql_num_rows($result); 

echo "$num_rows Rows\n"; This works in PHP5 

更新代碼PHP7:

$link = mysqli_connect("xxx", "xxx", "xxx"); 
mysqli_select_db("xxx", $link); 

$result = mysqli_query("SELECT * FROM blackandwhite", $link); 
$num_rows = mysqli_num_rows($result); 

echo "$num_rows Rows\n"; This doesnt work anymore. 
+7

http://php.net/manual /en/mysqli.query.php並檢查參數的順序 – nospor

+0

將'mysql_'轉換爲'msqli_'不是一個簡單的一對一的改變 – RiggsFolly

+2

如果你不得不做一個遷移,我會建議使用PDO而不是mysqli庫。 – Phylogenesis

回答

3

mysqli_功能實際上,接受鏈接作爲第一個參數,因爲它是不可選的喜歡它與正常mysql_功能。

像您期望這應該工作:

$link = mysqli_connect("xxx", "xxx", "xxx"); 
mysqli_select_db($link, "xxx"); 

$result = mysqli_query($link, "SELECT * FROM blackandwhite"); 
$num_rows = mysqli_num_rows($result); 

echo "$num_rows Rows\n"; 
+0

這爲我工作,謝謝! – Vonder

1

我找到遷移是,如果你選擇OOP而不是程序相當簡單:

$link = mysql_connect("xxx", "xxx", "xxx"); 
$link->select_db("xxx"); 

$result = $link->query("SELECT * FROM blackandwhite"); 
$num_rows = $result->num_rows; 

echo "$num_rows Rows\n";