我有这样的代码
$sql="select * from wifi where status!='off' limit 0, $limit";
$result=mysql_query($sql);
$i=1;
while($row=mysql_fetch_array($result)){
echo $i.") ".$row["user"]." - ".$row["password"]."<br/>";
$i++;
}
现在我想用status=off
更新从输出中得到的行我想使用
$sql="Update wifi Set staus='off' limit 0,6"
但是行不通
$sql="Update wifi Set staus='off' WHERE id IN (
select id from wifi where status!='off' limit 0, $limit
)"
用各自的名称更正您的id
字段
状态的拼写不正确以及只是限制数量
$sql="Update wifi Set status='off' limit 6"
试试这个…
UPDATE wifi SET staus='off'
WHERE id IN (
SELECT id FROM wifi LIMIT 0, 6
) temp
);
您缺少where
条件:
Update wifi
Set status = 'off'
where status <> 'off'
limit 0, 6;
但是,这不能保证更新select
返回的相同行。SQL不能保证两次运行相同的查询会返回相同的行——除非您使用ORDER BY
。因此,两个查询都应该在LIMIT
之前有一个ORDER BY
。
此外,您应该停止使用mysql_函数,并切换到mysqli_.