我有这段代码:
$id1=array($aa1,$aa2,$aa3,$aa4,$aa5,$aa6,$aa7);
$rank1=array($a1,$a4,$a7,$a10,$a13,$a16,$a19);
require_once("connection.php");
for($i=0;$i<7;$i++){
$sql = "update live_tracking set swim_rank = '"$rank1[$i]."' where id = '".$id1[$i]."'";
}
我想更新我的mysql数据库的多行,但是使用上面的代码只更新了第一个索引。有什么建议吗?
答案 0 :(得分:1)
您只能使用以下命令执行一个查询:
$sql = "update live_tracking set swim_rank = '".$rank1[$i]."' WHERE id IN (";
for($i=0;$i<7;$i++){
$sql .= $id1[$i].",";
}
$sql .= ")";
$query = mysql_query($sql) or die("error : ".mysql_error());
if($query){
echo "success";
}
答案 1 :(得分:0)
在循环内执行查询。
for($i=0;$i<7;$i++)
{
mysql_query("update live_tracking set swim_rank = '".$rank1[$i]."' where id = '".$id1[$i]."'");
}
答案 2 :(得分:0)
我可以在sql中看到错误
$sql = "update live_tracking set swim_rank = '"$rank1[$i]."' where id = '".$id1[$i]."'";
上面应该是
$sql = "update live_tracking set swim_rank = '".$rank1[$i]."' where id = '".$id1[$i]."'";
你错过了。在'“。$ rank1 [$ i]。”'
答案 3 :(得分:0)
您似乎正走在正确的轨道上。但是你需要在循环中执行查询。像这样:
$id1=array($aa1,$aa2,$aa3,$aa4,$aa5,$aa6,$aa7);
$rank1=array($a1,$a4,$a7,$a10,$a13,$a16,$a19);
require_once("connection.php");
for($i=0;$i<7;$i++){
$sql = "update live_tracking set swim_rank = '".$rank1[$i]."' where id = '".$id1[$i]."'";
if(!mysql_query($sql)){
echo "not updated".$id1[$i]; exit();
}
}