为什么我的PHP代码不检查所需MYSQL表的每一行

为什么我的PHP代码不检查所需MYSQL表的每一行,php,mysql,Php,Mysql,我需要遍历一个myn表,在每行中检查它的一个columnsid,并在另一个表中匹配这些id值,以从中获得名为useragent的值 但是目前我的while循环有问题,它只检查第一行的id值,而不是一直检查每一行 $myarray = mysql_query("SELECT * FROM table_105"); while($row = mysql_fetch_array($myarray)){ $table = 'table_105'; $update = mysql_que

我需要遍历一个myn表,在每行中检查它的一个columnsid,并在另一个表中匹配这些id值,以从中获得名为useragent的值

但是目前我的while循环有问题,它只检查第一行的id值,而不是一直检查每一行

$myarray = mysql_query("SELECT * FROM table_105");

while($row = mysql_fetch_array($myarray)){
    $table = 'table_105';
    $update = mysql_query("SELECT id as unp FROM $table");
    $col = mysql_fetch_assoc($update);
    $col_id = ($col["unp"]);

    $var1 = mysql_query("SELECT useragent as ua FROM paneltb WHERE id = $col_id");
    $col3 = mysql_fetch_assoc($var1);
    $col_ua = ($col3["ua"]);

    $browser = get_browser($col_ua, true);
    $platform = $browser['platform'];
    $device_name = $browser['device_name'];
    $browser_name = $browser['browser'];
    $version = $browser['version'];

    mysql_query("
            INSERT INTO table_tester(`trackerID`,`id`, `timestamp`, `useragent_browser`,`useragent_OS`,`useragent`)
            SELECT `trackerID`, `id`, `timestamp`, `useragent_browser`, `useragent_OS`,'".$col3["ua"]."'
            FROM $table")
            or die(mysql_error());

}

这是因为如果要检查所有行,则代码只针对一行,然后将内容放入while循环中,以查找id和useragent,如:

$myarray = mysql_query("SELECT * FROM table_105");
while($row = mysql_fetch_array($myarray)){
$table = 'tracktable_105';
$update = mysql_query("SELECT id as unp FROM $table");
while($col = mysql_fetch_assoc($update))
{
$col_id = ($col["unp"]);

$var1 = mysql_query("SELECT useragent as ua FROM paneltb WHERE id = $col_id");
while($col3 = mysql_fetch_assoc($var1))
{
$col_ua = $col3["ua"];

$browser = get_browser($col_ua, true);
$platform = $browser['platform'];
$device_name = $browser['device_name'];
$browser_name = $browser['browser'];
$version = $browser['version'];
mysql_query("
        INSERT INTO table_tester(`trackerID`,`id`,`timestamp`,`useragent_browser`,`useragent_OS`,`useragent`) SELECT `trackerID`, `id`, `timestamp`, `useragent_browser`, `useragent_OS`,'".$col3["ua"]."' FROM $table") or die(mysql_error());
}
}
}

如果您希望$update=mysql\u querySELECT id as unp FROM$table;要产生多行,则需要将获取放在另一个while循环中。实际上,我需要做的是获取id,在另一个表中使用它来匹配它与该特定表中的id,并获取对应于该id的useragent为什么不使用join,让数据库进行匹配?您的上一个查询mysql\u查询看起来也不是有效的查询。无法加入,必须从外部获取useragent值