我有以下带有if语句的代码,并且值是负数是一些数据行。但是,当我使用此语句时,它将-1值读取为1。

if ($row ['bedrooms'] == '-1')
{
    echo "<td class='propdescres'>Studio</td></tr>";
}
else
{
    echo "<td class='propdescres'>" . $row['bedrooms'] . "</td></tr>";
}


我尝试添加

$studio = $row ['bedrooms']*'-99';


并将我的声明更改为:

if ($studio == '99')
{
    echo "<td class='propdescres'>Studio</td></tr>";
}
else
{
    echo "<td class='propdescres'>" . $row['bedrooms'] . "</td></tr>";


以下是我用来获取数据的查询:

$result = mysqli_query($con, "SELECT realty.id, realty.unit_num, realty.address, realty.price, realty.bedrooms, realty.bathrooms, realty.metadesc FROM realty


字段类型为tinyint(3),当我查询数据库的bedrooms = -1时,它返回vales,但在我的echo结果中,php的所有-1值均为1。

有人可以让我对我做错了什么或如何获取负值有一些了解吗?

谢谢。

最佳答案

尝试这样使用:

$someNegVal = '-1';
if (isset($row['bedrooms']) &&  $row['bedrooms'] == -1*abs($someNegVal)) {
//....
}

09-19 09:58