[英]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.