从数据库行中选择最低价格并忽略null或0

AJF*_*DIA 3 php database min

我有一个名为价格的数据库,有12列可以说.

comp1,comp2,comp3,comp4,comp5,comp6等.

然后我想运行一个查询来查找存储在该行中与id匹配的最低价格,但我认为它将null视为最低值,因为我没有得到正确的答案.

无论如何围绕这个?或者我做错了吗?

$query = "SELECT * FROM Prices WHERE id =$id" or die(mysql_error());
    $result = mysql_query($query) or die(mysql_error());
    while ($row = mysql_fetch_array($result)) {

    $comp1= $row['comp1'];
    $comp2= $row['comp2'];
    $comp3= $row['comp3'];
    $comp4= $row['comp4'];
    $comp5= $row['comp5'];
    $comp6= $row['comp6'];
    $comp7= $row['comp7'];
    $comp8= $row['comp8'];
    $comp9= $row['comp9'];
    $comp10= $row['comp10'];
    $comp11= $row['comp11'];
    $comp12= $row['comp12'];

$min = array( $comp1,  $comp2,  $comp3,  $comp4,  $comp5,  $comp6,  $comp7,  $comp8,  $comp8,  $comp10,  $comp11,  $comp12);

echo min($min);      

}
Run Code Online (Sandbox Code Playgroud)

Dom*_*nes 8

如果在调用array_filter()之前调用数组min(),则会清除任何计算结果为false的内容,包括null0.

例如: $min = min(array_filter($min));