我有一个小的PHP mysql查询查看我的数据库中的表。它正在拉动所有行,然后回显记录。
问题是我在表格中有几个空行,所以我得到的是一个奇怪的记录。
这就是我得到的:
<?php
$con = mysql_connect("localhost","username","password");
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("username", $con);
$result = mysql_query("SELECT * FROM wallnames2011 WHERE firstname IS NOT NULL");
while($row = mysql_fetch_array($result)){
echo $row['firstname'] . " - " . $row['city'] . ", " .$row['state'] . " | ";
}
?>
我想保留空行。
答案 0 :(得分:5)
为什么你不放
尝试SELECT column_name FROM table_name WHERE column_name!=&#39;&#39;
答案 1 :(得分:4)
尝试SELECT column_name FROM table_name TRERE(column_name)IS NOT NULL
答案 2 :(得分:1)
Alex的空检查很好,如果你想显示不完整的记录,你也可以内联检查所有这三个:
echo (! empty($row['firstname']) ? $row['firstname'] : "")
.(! empty($row['city']) ? " - ".$row['city'] : "")
.(! empty($row['state']) ? ", ".$row['state'] : "")
. " | ";
答案 3 :(得分:0)
我认为在“where”子句中提到了所有字段名称,例如first_name IS NOT NULL AND last_name IS NOT NULL
。
答案 4 :(得分:0)
您可以在回显该行之前添加if(!empty($row['firstname']))
。
答案 5 :(得分:0)
仅打印rowname
以及结果为IS NOT NULL
的行的结果,请尝试以下操作:
if ($result = $mysqli->query($query)) {
/* fetch associative array */
$i=1;
while($a = $result->fetch_assoc()) {
$i++;
foreach ($a as $key => $value) {
if($value != NULL) {
echo $key." = ".$value."<br/>";
}
}
echo "-- <br />";
}
/* free result set */
$result->free();
}
/* close connection */
$mysqli->close();