PHP If语句不';不能正确地附加变量

PHP If语句不';不能正确地附加变量,php,mysql,variables,if-statement,while-loop,Php,Mysql,Variables,If Statement,While Loop,我正在查询数据库并将数据转储到HTML表中。我的一个数据库键称为“time_expire”,值为-1表示永不过期。因此,为了在HTML表中显示“从不”的效果,而不是在原始数据中显示,我试图在变量被回送之前对其进行更改 这是我的密码 <?php $sql = "SELECT * FROM penalties ORDER BY id DESC"; $result = mysql_query($sql); while ($rows = mysql_

我正在查询数据库并将数据转储到HTML表中。我的一个数据库键称为“time_expire”,值为-1表示永不过期。因此,为了在HTML表中显示“从不”的效果,而不是在原始数据中显示,我试图在变量被回送之前对其进行更改

这是我的密码

<?php
        $sql = "SELECT * FROM penalties ORDER BY id DESC";
        $result = mysql_query($sql);
        while ($rows = mysql_fetch_array($result)) {

            if ($rows['time_expire'] = '-1') {
                $rows['time_expire'] = '<span class="label label-important">Permanent</span>';
            }

            echo "<tr>";
            echo '<td><a href="ban.php?banid=' . $rows['id'] . '">' . $rows['id'] . '</a></td>';
            echo "<td>" . $rows['client_id'] . "</td>";
            echo "<td>" . $rows['type'] . "</td>";
            echo "<td>" . date('m/d/Y', $rows['time_add']) . "</td>";
            echo "<td>" . $rows['duration'] . "</td>";
            echo "<td>" . $rows['time_expire'] . "</td>";
            echo "<td>" . $rows['reason'] . "</td>";
            echo "</tr>";
        }
        ?>


这段代码没有错误,但是我的HTML表中的每一行都有一个“从不”过期值,即使原始数据不同。

我认为应该是:

if ($rows['time_expire'] == '-1')
不是


我认为应该是:

if ($rows['time_expire'] == '-1')
不是


这似乎是if statemenet中常见的输入错误

if ($rows['time_expire'] = '-1') [
                         ^
                         |
如果您想让解释器为您找到这些,请尝试使用以下方法:

if ('-1' = $rows['time_expire'])
此表单将创建错误,但正确的表单都可以正常工作:

'-1' == $rows['time_expire'] 


这似乎是if statemenet中常见的输入错误

if ($rows['time_expire'] = '-1') [
                         ^
                         |
如果您想让解释器为您找到这些,请尝试使用以下方法:

if ('-1' = $rows['time_expire'])
此表单将创建错误,但正确的表单都可以正常工作:

'-1' == $rows['time_expire'] 


尝试将If条件更改为
If($rows['time\u expire']='-1')
。现在您的条件是变量
$rows['time\u expire']
等于
'-1'
,它总是返回true。这可能会让您进入无限循环。

尝试将If条件更改为
If($rows['time\u expire']='-1')
。现在你的条件是变量
$rows['time\u expire']
等于
'-1'
,它总是返回true。这可能会让你进入无限循环。

首先
time\u expire
是什么类型

如果
time\u expire
是数字,则应将条件更改为:
如果($rows['time\u expire']=-1)
这将正确计算


其次,您的条件检查实际上是将值分配给
$rows['time\u expire']
,使用单
=
,它应该是双
=
,比如
=

首先,什么类型是
time\u expire

如果
time\u expire
是数字,则应将条件更改为:
如果($rows['time\u expire']=-1)
这将正确计算


其次,您的条件检查实际上是将值分配给
$rows['time\u expire']
,使用单
=
,它应该是双
=
,就像
=

您可能想在那里写
=
而不是
=/code>一样。这使得我的输出好像if语句不存在一样,它会忽略它。没有错,是的,当然。是这样的。。if($rows['time\u expire']='-1'){put
var\u dump($rows['time\u expire']))
就在if语句之前,要查看变量变为什么值,这是正确的。if行上需要a==而不是它下面的行。非常感谢。您可能想在那里编写
==
而不是
=
。这使我的输出看起来好像if语句不存在一样,它会忽略它。没有错误。是的,当然。这就像那..如果($rows['time\u expire']='-1'){put
var\u dump($rows['time\u expire']))
就在if语句之前,要查看变量的值变成了什么,这是正确的。我需要在if行上使用a==而不是它下面的行。非常感谢。在“if”行上使用a==有效,我以前在两行上都尝试过。谢谢,我不能投你一票。在“if”行上使用a==有效,我在b行上尝试过谢谢,不过我不能投你一票。