在mysql php if语句中使用负数?

时间:2014-10-17 02:05:23

标签: php mysql

我有以下代码和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),当我在数据库中查询卧室= -1时,它返回值,但在我的echo结果中,所有-1值都是1。

有人可以告诉我一些关于我做错了什么或者我如何找回负值的信息吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

尝试使用:

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

答案 1 :(得分:0)

这应该可以解决问题:

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

虽然(int)会将变量转换为整数,但是首先要确认变量实际上是返回一个整数。