PHP PDO,不包括字段值为空的行

PHP PDO,不包括字段值为空的行,php,mysql,Php,Mysql,所以我使用的是这个示例代码output6.php 我想做的是,如果empire\u name返回null,则跳过相关行 如有任何意见或建议,将不胜感激 谢谢 在打印行之前简单地添加检查。有点像跟踪 while($ft_form_2 = $stmt->fetch()) // loop and display data { if( !empty($ft_form_2->empire_name) && !is_null($ft_form_2->empire_

所以我使用的是这个示例代码
output6.php

我想做的是,如果
empire\u name
返回null,则跳过相关行 如有任何意见或建议,将不胜感激 谢谢



在打印行之前简单地添加检查。有点像跟踪

while($ft_form_2 = $stmt->fetch()) // loop and display data
{
    if( !empty($ft_form_2->empire_name) && !is_null($ft_form_2->empire_name) )
    {
        $print .= '<tr>';
        $print .= "<td>{$ft_form_2->empire_name}</td>";
        $print .= "<td>{$ft_form_2->win}</td>";
        $print .= "<td>{$ft_form_2->building_1} <br> {$ft_form_2->building_1_notes} </td>";
        $print .= "<td>{$ft_form_2->building_2} <br> {$ft_form_2->building_2_notes} </td>";
        $print .= "<td>{$ft_form_2->building_3} <br> {$ft_form_2->building_3_notes} </td>";
        $print .= "<td>{$ft_form_2->building_4} <br> {$ft_form_2->building_4_notes} </td>";
        $print .= "<td>{$ft_form_2->building_5} <br> {$ft_form_2->building_5_notes} </td>";
        $print .= "<td>{$ft_form_2->building_6} <br> {$ft_form_2->building_6_notes} </td>";
        $print .= "<td>{$ft_form_2->building_7} <br> {$ft_form_2->building_7_notes} </td>";
        $print .= "<td>{$ft_form_2->building_8} <br> {$ft_form_2->building_8_notes} </td>";
        $print .= "<td>{$ft_form_2->building_9} <br> {$ft_form_2->building_9_notes} </td>";
        $print .= '</tr>';
    }
}

要遵循您的使用逻辑,您在问题中提到的不是空的。你走的路是对的。从数据库中返回您想要的东西比在PHP中获取所有东西并进行过滤要高效得多

你在这里的陈述

$stmt = $conn->prepare("SELECT empire_name, win, building_1, building_2, building_3, building_4, building_5, building_6, building_7, building_8, building_9 FROM ft_form_2 ");
可以在末尾添加where条件

$stmt = $conn->prepare("SELECT empire_name, win, building_1, building_2, building_3, building_4, building_5, building_6, building_7, building_8, building_9 FROM ft_form_2 WHERE empire_name IS NOT NULL ");
然后,您的数据库将进行筛选。这同样适用于第二个示例

$stmt = $dbc->query("SELECT * FROM ft_form_2 WHERE empire_name IS NOT NULL");

@米基普。如果你觉得这有帮助,请记下我的答案
$stmt = $conn->prepare("SELECT empire_name, win, building_1, building_2, building_3, building_4, building_5, building_6, building_7, building_8, building_9 FROM ft_form_2 ");
$stmt = $conn->prepare("SELECT empire_name, win, building_1, building_2, building_3, building_4, building_5, building_6, building_7, building_8, building_9 FROM ft_form_2 WHERE empire_name IS NOT NULL ");
$stmt = $dbc->query("SELECT * FROM ft_form_2 WHERE empire_name IS NOT NULL");