首页 > 解决方案 > 当值为空时如何在所有行中分配“无数据”

问题描述

我有 40 列行,我想自动填写“无数据”。这是我的代码:

if (isset($people)) {
    $sql = "SELECT * FROM people  WHERE Name = '$people' LIMIT 0,1";
    $result = $conn->query($sql);
         
        if ($result->num_rows > 0) {
            echo "
            <table>
            <tr><th>Name</th><td>". $row["Name"]."</td></tr>
            <tr><th>Full Name</th><td>". $row["FullName"]."</td></tr>
            <tr><th>Address</th><td>". $row["Address"]."</td></tr>
            <tr><th>BirthDate</th><td>". $row["BirthDate"]."</td></tr>
            <tr><th>Spouses</th><td>". $row["Spouses"]."</td></tr>
etc..
    </table>

我可以像这样if在每个语句中使用语句tr,但我不喜欢它,应该有更短的方法。if($row['Spouses'] == ""){ echo "";} else{ echo $row["Spouses"];}

标签: phpmysql

解决方案


您可以使用??. 它负责处理 null 未定义的值,您可以将其用作三元运算符的替代品。例如:$row['spouses'] ?? ''

您可以在此链接下研究此 Null 合并运算符:https ://www.php.net/manual/en/migration70.new-features.php


推荐阅读