这个php应该根据"d1"中是否选择了"d2"插入。它为"d1"中的每一行插入大约30次。我一直在使用While,从来没有遇到过这个问题,知道为什么会发生这种情况吗?
$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
我已经为此工作了一周,并测试了所有内容!任何帮助都将不胜感激!
您的问题是试图对fatch和insert使用相同的连接资源。一旦在该连接上运行另一个查询,就会丢失以前的结果。使用mysqli_fetch_all()从$query2中获取所有结果,然后重新分配数组并运行插入查询。