我有这段代码
$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"
但它不起作用
答案 0 :(得分:1)
您错过了where
条件:
Update wifi
Set status = 'off'
where status <> 'off'
limit 0, 6;
但是,不能保证更新select
返回的相同行。 SQL不保证两次运行相同的查询会返回相同的行 - 除非您使用ORDER BY
。因此,两个查询都应在ORDER BY
之前有LIMIT
。
此外,您应该停止使用mysql_函数并切换到mysqli _。
答案 1 :(得分:0)
$sql="Update wifi Set staus='off' WHERE id IN (
select id from wifi where status!='off' limit 0, $limit
)"
使用相应名称更正您的id
字段。
答案 2 :(得分:0)
状态拼写不正确,只是限制数量。
$sql="Update wifi Set status='off' limit 6"
答案 3 :(得分:0)
试试这个..
UPDATE wifi SET staus='off'
WHERE id IN (
SELECT id FROM wifi LIMIT 0, 6
) temp
);