Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-如果列为空变量-其他列_Php_Mysql - Fatal编程技术网

PHP-如果列为空变量-其他列

PHP-如果列为空变量-其他列,php,mysql,Php,Mysql,我的mysql数据库中有多个列,但我需要其中一列的数据。第1列或第2列中都有数据。如果两列中都有数据,则不存在任何问题 我试过下面的方法,但运气不好。我也环顾四周,似乎找不到一个简单的方法来处理这个问题 <?php $query = "SELECT `column1`,`column2` FROM `table` WHERE `name` LIKE 'Jack'"; $columcheck = $query['column1']; if ($columcheck == null) {

我的mysql数据库中有多个列,但我需要其中一列的数据。第1列或第2列中都有数据。如果两列中都有数据,则不存在任何问题

我试过下面的方法,但运气不好。我也环顾四周,似乎找不到一个简单的方法来处理这个问题

<?php
$query = "SELECT `column1`,`column2` FROM `table` WHERE `name` LIKE 'Jack'";
$columcheck = $query['column1'];
if ($columcheck == null) {    
   $columcheck = $query['column2'];
}
echo $columcheck;
?>
我基本上只想回显不是空的列

提前谢谢。
Lucas。

首先,您需要获取数据并实际读取数据。我为您准备了一个小函数,您可以使用它。不过你应该改进一下。如果需要的不是第一个结果,请使用预先准备好的语句,将其存储在数组中并循环,等等

还请注意,我假设使用PHP7.1+设置此函数。如果不是这样,请删除类型提示


@RahulMeshram我想应该在尝试获取任何结果之前执行查询。您实际上还没有执行您的查询…您是否尝试将查询提交到数据库以执行?然后从结果setcheck中获取行,你可以使用MySQL。我不太清楚为什么你会从内部返回,而Loop查看他的示例,他没有循环任何内容。这让我相信他只想要一个结果。读我的笔记在顶部,我已经涵盖了这个lol。
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'];
        }
    }
}