如何查询一行中的所有字段

时间:2012-10-14 07:48:36

标签: php mysql loops

我知道这很简单,但我有一段时间没有使用PHP / MySQL而且我一直在阅读其他线程/ php网站,似乎无法得到它。

如何查询MySQL表中的单行并打印出包含数据的所有字段?我需要排除NULL字段,只将那些有数据的字段添加到html列表中。

为了澄清,我想显示字段数据而不指定字段名称,只是因为我有很多字段而且不知道哪些字段是NULL。

4 个答案:

答案 0 :(得分:2)

只需SELECT * FROM table_name WHERE....即可。

要从特定字段中获取数据,它将是SELECT field_1,field_2,field_3 ....

答案 1 :(得分:1)

您概述的内容需要4个基本步骤:

  1. 连接数据库。
  2. 查询特定行。
  3. 从结果中删除空值。
  4. 创建html。

  5. 第1步非常环保,所以我们可以安全地跳过这里。  


    第2步 - SQL

    SELECT * from <tablename> WHERE <condition isolating single row>
    


    第3步 - PHP(假设$ query表示执行的db查询)

    //convert the result to an array
    $result_array = mysql_fetch_array($query);
    
    //remove null values from the result array
    $result_array = array_filter($result_array, 'strlen');
    


    第4步 - PHP

    foreach ($result_array as $key => $value)
    {
        echo $value \n;
    }
    

答案 2 :(得分:0)

你必须创建一个代表mysql查询的字符串。然后在PHP中有一个名为mysql_query()的函数。使用上面的字符串作为参数调用此函数。它将返回所有结果。 Here are some examples

答案 3 :(得分:0)

你需要这样做......

首先连接到您的sql ... Reference

现在进行查询并将其分配给变量...

$query = mysqli_query($connect, "SELECT column_name1, column_name2 FROM tablename");

如果要检索单行,请使用LIMIT 1

$query = mysqli_query($connect, "SELECT column_name1, column_name2 FROM tablename LIMIT 1");

如果您想获取所有列,只需使用*而不是列名称,如果您想留下特定列数据为blank的某些行,您可以这样做

$ query = mysqli_query($ connect,“SELECT * FROM tablename WHERE column_name4!=''”);

现在从中取出数组并像这样遍历数组..

while($show_rows = mysqli_fetch_array($query)) {
   echo $show_rows['column_name1'];
   echo $show_rows['column_name2'];
}

如果您不想在while循环中包含列名,可以执行以下操作:

while($show_rows = mysqli_fetch_array($query)) {
   foreach( $show_rows as $key => $val )
   {
       echo $show_rows[$key];
   }
}