PHP If 语句没有正确附加变量

标签 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_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 语句中的常见错字

if ($rows['time_expire'] = '-1') [
                         ^
                         |

如果你想让解释器为你发现这些,请尝试使用 yoda conditions像这样:

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

此表单会产生错误,但正确的表单都可以正常工作:

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

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

关于PHP If 语句没有正确附加变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17268992/

相关文章:

javascript - 如何用另一个变量定义一个变量?

c++ - 从范围外访问局部变量c++

php - 如果日期为空,如何调整年份

php - Mysql PHP Cron 用于更新用户统计信息

javascript - 命名函数(而不是匿名)和创建对它的引用有什么区别?

mysql - asp.net从mysql填充gridview的问题

php - 想要添加一列并最终显示结果?

php - 读取 DOM PHP 的部分内容

javascript - AJAX 传递变量问题

javascript - 即使我将其设置为禁用,也要检查该复选框