【问题标题】:How do I handle a result from a mysqli query in PHP? [duplicate]如何处理 PHP 中 mysqli 查询的结果? [复制]
【发布时间】:2019-03-08 17:39:50
【问题描述】:

我有以下代码:

// Create Connection
$mysqli = new mysqli($host, $username, $password, $db_name);

//Check connection
if($mysqli->connect_error){
    die("Connection failed: " . $mysqli->connect_error);
}
echo "Connected Successfully";



// Retrieve data from database 
$result= $mysqli->query("SELECT * FROM scores ORDER BY score DESC LIMIT 10");

基本上我现在需要知道如何处理这些数据。 在数据库中我有一个格式:

Column 1: Name
Column 2: HighScore

我正在尝试将其显示在表格中的网页上,因此我需要以我可以处理的格式进行查询,目前我所拥有的是:

// Start looping rows in mysql database.
while($rows=mysqli_fetch_array($result)){
    echo $rows['name'] . "|" . $rows['score'] . "|";

    // close while loop 
}

但是,我认为我没有正确使用 mysqli_fetch_array(),因为它没有进入 while 循环。

【问题讨论】:

  • 嗨,如果你的列名是'Name',你必须写$row['Name']。分数也是一样的,如果列名是'HighScore'你必须写$row['HighScore']
  • 更合适的副本是stackoverflow.com/questions/4261133/…
  • @Qirel 也添加了

标签: php mysqli


【解决方案1】:

从此函数返回的字段名区分大小写。

while($rows=mysqli_fetch_array($result)){
    echo $rows['Name'] . "|" . $rows['HighScore'] . "|";
    }

【讨论】:

    【解决方案2】:

    当你使用 mysqli。因此,要在您的情况下使用面向对象的样式来获取 reuslt:

    $result= $mysqli->query("SELECT * FROM scores ORDER BY score DESC LIMIT 10");
    
    while($rows=$result->fetch_assoc()){
      echo $rows['name'] . "|" . $rows['score'] . "|";
    }
    

    所以不是程序风格:

    $rows=mysqli_fetch_array($result)
    

    【讨论】:

      猜你喜欢
      • 2013-04-23
      • 2011-08-21
      • 2016-01-19
      • 1970-01-01
      • 2014-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多