Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-url数组for循环中的动态mysql_查询_Php_Mysql_For Loop - Fatal编程技术网

php-url数组for循环中的动态mysql_查询

php-url数组for循环中的动态mysql_查询,php,mysql,for-loop,Php,Mysql,For Loop,我在堆栈上找过类似的东西,但没有一个和这个完全一样 我(认为我)需要在循环中生成一个唯一的MySQL查询,因为每次迭代都需要查找不同的表。循环来自分解的$\u GET数组 问题在于基于循环迭代创建一个不同名称的mysql查询。我在$var名称不同的地方做过,但它不起作用,我想是因为它是一个字符串而不是一个变量 谢谢你的帮助 $temps = explode(",", $_GET['temps']); $tempCount = count($temps); for ($i=0; $i<$

我在堆栈上找过类似的东西,但没有一个和这个完全一样

我(认为我)需要在循环中生成一个唯一的MySQL查询,因为每次迭代都需要查找不同的表。循环来自分解的$\u GET数组

问题在于基于循环迭代创建一个不同名称的mysql查询。我在$var名称不同的地方做过,但它不起作用,我想是因为它是一个字符串而不是一个变量

谢谢你的帮助

$temps = explode(",", $_GET['temps']);
$tempCount = count($temps); 

for ($i=0; $i<$tempCount; $i++)
{
/*'normal' database lookup
$check = mysql_query("SELECT * FROM _db_".$temps[$i]."");       
    $checks = array();
    while ($row = mysql_fetch_assoc($check)) {
    $checks[] = $row;
    }*/


//here's where I'm trying to build a 'dynamic' lookup for each loop iteration

$checkTemp=$check.$temps[$i];
$checkTempArray=$check.$temps[$i].'Array';

$checkTemp = mysql_query("SELECT * FROM _db_".$temps[$i]."");       
    $checkTempArray = array();
    while ($row = mysql_fetch_assoc($checkTemp)) {
    $checkTempArray[] = $row;
    }
}
$temps=explode(“,”,$\u GET['temps']);
$tempCount=计数($temps);

对于($i=0;$i如果我理解正确,您将尝试从
中以
分隔的所有表中选择*
。\u GET[“temps”]

$temps=explode(“,”,$\u GET['temps']);
$tempCount=计数($temps);
$allResults=array();

因为($i=0;$i似乎是您代码中的一个输入错误

$checkTemp = mysql_query("SELECT * FROM db".$temp[$i].""); 
任用

$temps[$i] or just  $temp 
$temp[$i] doesn't makes any sense
因此,您的查询应该是

$checkTemp = mysql_query("SELECT * FROM db".$temps[$i]."");  
编辑: 对于阵列部件,您可以使用

 $$temp = array();
 while ($row = mysql_fetch_assoc($checkTemp)) {
    $$temp[] = $row;
 }

您好。我已经修改了代码以显示附加了temp变量的_db。因此url“&temps=john,sally”将查找_db_john和_db_sally@gavin我更改了我的答案,它现在将结果存储在数组中。谢谢,我将给出一个try$check没有被使用。你说的“不同名称”的MySQL查询是什么意思?我已经修改了它,以便你可以看到每次迭代的db表名都不同。因此需要存储的数组必须具有不同的名称,以便以后查找(foreach等)。例如,数组$checkJohn和$checkSally$checkTemp=mysql_查询(“从db中选择*”。$temp[$i]);使用$temps[$i]或仅使用$temp,$temp[$i]没有任何意义,我已经修改了。但是我也需要创建一个动态创建的数组,用于以后的查找。这是我的主要问题。谢谢,boom_Shiva。我现在已经修改了。我也需要创建一个动态创建的数组,用于以后的查找。这似乎不起作用。我简化了它,只是使用$temps[I]。
 $$temp = array();
 while ($row = mysql_fetch_assoc($checkTemp)) {
    $$temp[] = $row;
 }