我的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;
?>
我基本上只想回显不为空的列。
先谢谢了。 卢卡斯。
答案 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'];
}
}
}