0

我有一个mysql查询如下 -

    $id_order_last="15";
    $id_order[]=array();
    $sql1="SELECT * FROM `ps_orders` WHERE `id_order`> 
    $id_order_last  order by `id_order`";
    echo $sql1;
    $result1= mysql_query($sql1);
    $cnt=1;
    while ($row = mysql_fetch_array($result1))
    {
        /*$id_order[$i]=$row['$id_order'];*/
        echo $row['$id_order']."<br />";
        $cnt++;
        echo $cnt."<br />";
}

如您所见,我$id_order_last设置了 15,因此在回显时将值显示为 15。要检查 sql 我回显了它并显示

SELECT * FROM `ps_orders` WHERE `id_order`> 15 order by `id_order`

所以我进入 sql,在 phpmyadmin 中运行,得到返回的元组是正确的值。它显示了良好的结果意味着数据库中的 17 和 18。这意味着查询是正确的!

$row['$id_order']然后它回显了 2 和 3,但仍然为空的 cnt++ 值仅<br />显示为空格。

虽然我也尝试了 for 循环来打印整个东西,但它仍然没有出现?

$i=1;
for($i;$i<=$cnt;$i++)
{
    echo $id_order_last."<br />";
    echo $id_order[$i]."<br />";
    $id_order_last=$id_order[$i];
}
4

2 回答 2

1
use echo $row['id_order'] in place of echo $row['$id_order']

remove $.
于 2013-05-14T12:39:24.343 回答
1

替换$row['$id_order']$row['id_order']

$id_order_last="15";
$sql1="SELECT * FROM `ps_orders` WHERE `id_order`> 
$id_order_last  order by `id_order`";
echo $sql1;
$result1= mysql_query($sql1);
$cnt=1;
while ($row = mysql_fetch_array($result1))
{
    $id_order[]=$row['id_order'];
    echo $row['id_order']."<br />";
    $cnt++;
    echo $cnt."<br />";
}

echo "<pre />";
print_r($id_order);
于 2013-05-14T12:41:15.487 回答