[英]PHP Echo does not return Table data with SQL
我正在排行榜上。 排行榜從我的SQL數據庫獲取數據。 它使用MySQL的舊方法,因為我還不熟悉MySQLi。
我不想每次都添加一行,所以我正在使用一種php方法重復它。 但是我有一個問題。 它沒有返回我在回聲中輸入的內容。
這是我的完整代碼: https : //gist.github.com/matthijs110/accb1b0b69570c4d3f50
對我來說看起來不錯,但我找不到任何錯誤。 當前代碼的結果如下所示:
關於警告:我不知道為什么以及如何到達警告,它說的問題是此行:
if (mysql_num_rows($result)) {
我曾經用過,如果在其他頁面上多次檢查而沒有任何問題。
怎么了?
您正在嘗試使用mysql_庫進行查詢,但尚未打開與它的連接。 您已經打開了與mysqli_庫的連接。
選擇mysqli_
或mysql_
(或PDO)並堅持下去。 不要在腳本中間切換數據庫庫。 (不選擇mysql_,已棄用)。
在您的連接頁面中,您正在使用mysqli_
庫
if($mysqli->connect_errno) {
但是在您完整的代碼中,您嘗試使用mysql
庫獲取數據
if (mysql_num_rows($result)) {
Mysqli PHP:
<?php
// Create connection
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT Username,Wins FROM Leaderboard_Tag ORDER BY Wins DESC");
$rank = 1;
if (mysqli_num_rows($result) >= 1) {
while ($row = mysqli_fetch_assoc($result)) {
$Username=$row['Username'];
$Wins=$row['Wins'];
echo "<td>$rank</td>
<td>Ava</td>
<td>$Username</td>
<td>$Wins</td>";
$rank++;
}
}
mysqli_close($con);
?>
這是您唯一的問題,也許您忘記了包含連接文件。
include("your connection file here");
編輯:
您正在混合mysql和mysqli。
改變這個
if (mysql_num_rows($result)) {
至
if ($result->num_rows > 0)) {
編輯:
您還需要將mysql fetch也更改為mysqli。
改變這個
while ($row = mysql_fetch_assoc($result)) {
至
$result->execute(); // Execute the prepared query.
$result->store_result();
$result->bind_result($Username, $Wins);
while($row = $result->fetch()){
echo $Username;
echo $Wins;
}
*重要
從PHP 5.5.0起不推薦使用mysql功能(軟)
自PHP 5.5.0起不推薦使用此擴展,以后將刪除。 相反,應使用MySQLi或PDO_MySQL擴展。 另請參見MySQL:選擇API指南和相關的FAQ,以獲取更多信息。 該函數的替代品包括:mysqli_connect()PDO :: __ construct()
因此最好不要一般使用Mysql,嘗試學習PDO。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.