【问题标题】:Update multiple rows using for loop and array php使用for循环和数组php更新多行
【发布时间】:2014-02-05 09:17:57
【问题描述】:

我有这个代码:

$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 数据库的多行,但使用上面的代码只更新第一个索引。有什么建议吗?

【问题讨论】:

  • 你需要在循环内执行。
  • 执行查询的位置..这只是查询..
  • 怎么样?你有样品吗?
  • 这是我的connection.php require("constants.php"); $con = mysqli_connect(DB_SERVER,DB_USER,DB_PASS,DB_NAME); if (mysqli_connect_errno()) { echo "连接 MySQL 失败:" . mysqli_connect_error(); }
  • 因为你有where id=$id你应该有where id &gt; $min AND id &lt; $max

标签: php mysql arrays for-loop


【解决方案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";
} 

【讨论】:

  • 如何执行多个查询?
  • 如果您按照其他答案的建议在 for 循环中包含 mysql_query(),您将有多个查询。但是如果你使用上面的答案,你将有一个查询语句,所以一个查询要执行。
【解决方案2】:

在循环本身内执行查询。

    for($i=0;$i<7;$i++)
    {    
    mysql_query("update live_tracking set swim_rank = '".$rank1[$i]."' where id = '".$id1[$i]."'");
    }

【讨论】:

  • 回显查询并在数据库中执行查询是否有对应的字段
  • 我该怎么做?我只是 php 的新手
  • 你在用phpmyadmin吗?
【解决方案3】:

我可以在 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]."'

【讨论】:

  • 你是否在循环中使用了 mysql_query($sql) 你也需要添加这个。
【解决方案4】:

看来你走在了正确的轨道上。但是您需要在循环中执行查询。像这样:

$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();  
   }


}

【讨论】:

  • 未更新1。这就是被呼应的东西。我怎样才能解决这个问题。这是我的论文。
  • 你可以回显$sql变量并在你的mysql服务器中运行输出查询
  • 怎么样?你能详细说明一下吗?
  • 如何在我的 sql server 中运行我的查询?你有例子吗?
  • 你在用phpmyadmin吗?
猜你喜欢
  • 1970-01-01
  • 2016-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-26
相关资源
最近更新 更多