PHP-如果列为空变量-不同的列

时间:2019-04-30 13:41:35

标签: php mysql

我的MySQL数据库有多个列,但是我需要其中2个中的1个数据。第1列或第2列中有数据,两者都没有数据。

我没有运气就尝试了以下方法。我也环顾四周,似乎找不到一种简单的方法来解决这个问题。

<?php
$query = "SELECT `column1`,`column2` FROM `table` WHERE `name` LIKE 'Jack'";
$columcheck = $query['column1'];
if ($columcheck == null) {    
   $columcheck = $query['column2'];
}
echo $columcheck;
?>

我基本上只想回显不为空的列。

先谢谢了。 卢卡斯。

1 个答案:

答案 0 :(得分:0)

首先,您需要获取数据并实际读取它。我为您整理了一个可以使用的小功能。您应该对此进行改进。如果您需要的不仅仅是第一个结果,请使用准备好的语句,将其存储在数组中并遍历等等。

还要注意,我假设使用php 7.1+来设置此功能。如果不是这种情况,请删除类型提示。

function collectData(\mysqli $connection): ?string {
    if ($connection->connect_error) {
        return null;
    }

    $result = $connection->query("SELECT `column1`,`column2` FROM `table` WHERE `name` LIKE 'Jack'");

    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            if($result['column1'])
                return $result['column1'];
            return $result['column2'];
        }
    }
}