PHP Echo不会使用SQL返回Table数据

时间:2014-05-11 09:08:33

标签: php mysql sql

我正在制作排行榜。排行榜从我的SQL数据库中获取数据。它使用MySQL的旧方法,因为我还不熟悉MySQLi。

我不想每次都添加一行,所以我使用php方法重复它。但是我遇到了一个问题。它没有返回我放在回声中的东西。

这是我的完整代码: https://gist.github.com/matthijs110/accb1b0b69570c4d3f50

对我来说很好看,我找不到任何错误。当前代码的结果如下所示:

http://puu.sh/8HP64.png

关于警告:我不知道为什么以及它是如何实现的,它说问题就在这一行:

if (mysql_num_rows($result)) {

我已经使用过,如果在其他页面上多次检查没有任何问题。

有什么问题?

3 个答案:

答案 0 :(得分:1)

您正在尝试使用 mysql_ library 进行查询,但尚未与其建立连接。您已使用 mysqli_ library 打开了连接。

选择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);
?>

答案 1 :(得分:0)

你唯一的问题是它可能忘了包含你的连接文件。

   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;
    }

答案 2 :(得分:0)

*重要

从php 5.5.0 mysql函数不推荐使用(软)

  

自PHP 5.5.0起,此扩展程序已弃用,并将在中删除   未来。相反,应该使用MySQLi或PDO_MySQL扩展。   另请参阅MySQL:选择API指南和相关常见问题解答以获取更多信息   信息。此功能的替代方案包括:mysqli_connect()   PDO :: __构建体()

因此最好不要一般使用Mysql,尝试学习PDO。