插入约30倍MYSQL

时间:2015-04-01 16:42:33

标签: php mysql

如果在“d1”中选择该日期,则该php应该插入“d2”。它在“d1”中每行插入约30次。我一直使用而且从不遇到这个问题,不知道为什么会这样吗?

$query = mysqli_query($connection, 'SELECT * FROM '.$SETTINGS["d1"]);     
while($query_array = mysqli_fetch_array($query)){   
    $connection_main = mysqli_connect($SETTINGS["hostname"], $SETTINGS["mysql_user"], $SETTINGS["mysql_pass"], 'u_db_main_'.$query_array['id']);
    $dayofweek = strtolower(date('l'));
    $query2 = mysqli_query($connection_main, 'SELECT * FROM '.$SETTINGS_MAIN["d1"].' WHERE '.$dayofweek.' ="1"');
  while($query2_array = mysqli_fetch_array($query2)){   
       mysqli_query($connection_main, "INSERT INTO ".$SETTINGS_MAIN["d2"]." (c1) VALUE ('".$query2_array['data_1']."')");
       $id = mysqli_insert_id($connection_main);
       calc_function($id);
  }
}

函数calc_function中没有INSERTS但是使用全局来获取相同的变量,是否可以调用插入?

function calc_function($id){
   global $connection_main;
   global $SETTINGS_MAIN;
   //rest of function below

我已经在这工作了一个星期并测试了一切!任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您的问题是您尝试使用相同的连接资源进行fatch和insert。只要在该连接上运行另一个查询,就会丢失以前的结果。使用mysqli_fetch_all()从$ query2获取所有结果,然后迭代数组并运行插入查询。