是否可以遍历数据库中表的每一行

时间:2019-02-19 17:57:44

标签: php mysql sql loops

我试图遍历数据库中表的每一行,然后一旦进入特定行,就获得某一列的值。这可能吗?我已经做过几次Google搜索,但没有什么具体的。我尝试使用mysqli_fetch_array()函数,但是当我这样做时,我得到了列的结果。我想定位每一行。到目前为止,我得到的代码使我获得了“ nid”列。那不是我想要的我想遍历每一行。

<?php

    $serverName = "localhost";
    $username = "user1";
    $password = "sp@99#1";
    $databaseName = "developer_site";

    // Connection
    $connection = new mysqli($serverName, $username, $password, $databaseName);

    // Check Connection
    if ($connection->connect_error) {
      die("Connection failed:" . $connection->connect_error);
    } // line ends if statement

    $queryNodeRevision = "SELECT nid FROM node_revision";
    // line above creates variable $queryNodeRevision > selects column "nid" from table "node_revision"

    $results = mysqli_query($connection, $queryNodeRevision) or die("Bad Query: $results");

    while ($row = mysqli_fetch_array($results)) {
          echo "NID: ";
          echo $row['nid'];
          echo "<br/>";
    } 
  ?>

1 个答案:

答案 0 :(得分:0)

您可以仅通过SQL查询按特定条件选择行,还可以选择所有列。 SELECT * FROM node_revision where condition;

condition可以是任何东西。例如another_row ='something'。

但是,如果由于某种原因,您需要在php脚本中处理nid来知道该行是否为您要搜索的“特定”行,则只需选择所有列,或者您需要的那些。

$queryNodeRevision = "SELECT nid, col1, col2 FROM node_revision";

$results = mysqli_query($connection, $queryNodeRevision) or die("Bad Query: $results");

while ($row = mysqli_fetch_array($results)) {
    if (condiiton) {
        echo "Particular: ".$row['nid']
        ." ".$row['col1']
        ." ".$row['col2'];
    }
}

condition可能类似于$row['nid'] == 123

希望有帮助。