PHP If语句不';不能正确地附加变量
我正在查询数据库并将数据转储到HTML表中。我的一个数据库键称为“time_expire”,值为-1表示永不过期。因此,为了在HTML表中显示“从不”的效果,而不是在原始数据中显示,我试图在变量被回送之前对其进行更改 这是我的密码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_
<?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'){putvar\u dump($rows['time\u expire']))
就在if语句之前,要查看变量变为什么值,这是正确的。if行上需要a==而不是它下面的行。非常感谢。您可能想在那里编写==
而不是=
。这使我的输出看起来好像if语句不存在一样,它会忽略它。没有错误。是的,当然。这就像那..如果($rows['time\u expire']='-1'){putvar\u dump($rows['time\u expire']))
就在if语句之前,要查看变量的值变成了什么,这是正确的。我需要在if行上使用a==而不是它下面的行。非常感谢。在“if”行上使用a==有效,我以前在两行上都尝试过。谢谢,我不能投你一票。在“if”行上使用a==有效,我在b行上尝试过谢谢,不过我不能投你一票。