如果所选内容的数据为空,那么在我获取数据时会出现问题,那么当数据为空或空时,“(,)”显示我想要的是“,”没有出现我无法做到的事。
说我正在选择数据
ID 1 ,2 ,3
ID为1
Num 6789
,ID 2
没有Num且ID为12345
$query="SELECT Num FROM euser WHERE UserId IN (SELECT ID FROM master WHERE aa='aa' And cc='cc')" ;
$data=mysqli_query($mysqli,$query)or die(mysqli_error());
$Num = array();
while($row=mysqli_fetch_array($data)){
$Num[] = $row['Num'];
}
$NumStr = implode(',', $Num);
echo $NumStr;
mysqli_close($mysqli);
现在输出
6789,,12345
期待输出
6789,12345
答案 0 :(得分:3)
使用isset()
while ($row = mysqli_fetch_array($data)) {
if (isset($row['Num']) && $row['Num'] != "") {
$Num[] = $row['Num'];
}
}
$NumStr = implode(',', $Num);
答案 1 :(得分:2)
用以下代码替换您的代码。
添加了空白和NULL的检查。
$query="SELECT Num FROM euser WHERE UserId IN (SELECT ID FROM master WHERE aa='aa' And cc='cc')" ;
$data=mysqli_query($mysqli,$query)or die(mysqli_error());
$Num = array();
while($row=mysqli_fetch_array($data)){
if($row['Num'] != '' && $row['Num'] != NULL){
$Num[] = $row['Num'];
}
}
$NumStr = implode(',', $Num);
echo $NumStr;
mysqli_close($mysqli);
答案 2 :(得分:2)
$query="SELECT Num FROM euser WHERE UserId IN (SELECT ID FROM master WHERE aa='aa' And cc='cc')" ;
$data=mysqli_query($mysqli,$query)or die(mysqli_error());
$Num = array();
while($row=mysqli_fetch_array($data)){
$Num[] = $row['Num'];
}
$final_arr = array_filter($Num);
$NumStr = implode(',', $final_arr);
echo $NumStr;
mysqli_close($mysqli);
您只需使用“array_filter”函数从数组中删除空/空值。