我知道这很简单,但是我有一段时间没有使用 PHP/MySQL,而且我一直在阅读其他线程/php 网站,但似乎无法理解。
如何从 MySQL 表中查询单行并打印出所有包含数据的字段?我需要排除 NULL 字段,并且只将那些有数据的字段添加到 html 列表中。
为了澄清,我想在不指定字段名称的情况下显示字段数据,只是因为我有很多字段并且不知道哪些字段将为 NULL 或不。
只是SELECT * FROM table_name WHERE....
会做的伎俩。
要从特定字段中获取数据,它将是SELECT field_1,field_2,field_3
......
您概述的内容需要 4 个基本步骤:
第 1 步是非常特定于环境的,因此我们可以安全地跳过这里。
第 2 步 - SQL
SELECT * from <tablename> WHERE <condition isolating single row>
第 3 步 - PHP(假设 $query 代表执行的数据库查询)
//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;
}
你必须创建一个代表 mysql 查询的字符串。然后在 php 中有一个名为mysql_query()
. 使用上述字符串作为参数调用此函数。它会返回你所有的结果。这里有些例子
你需要这样做......
首先连接到你的sql...参考
现在进行查询并将其分配给变量...
$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];
}
}