0

同じデータベース内の2つの異なるテーブルからプルするphpスクリプトを作成しました。データがプルされた後、後で使用するためにその特定の情報を保持する別のテーブルに配置されます。現在、ユーザーIDとユーザー名は送信されますが、私が述べたpuid変数は送信されません。

これがスクリプトです

include('data.php');

//Database Connection
$con=@mysql_connect("$ip", "$guser", "$gpass")
            or die(mysql_error());

//Select Database
$dbcon=@mysql_select_db($forums, $con)
            or die(mysql_error());

$search = $_POST['term'];

$sql = mysql_query("select userid, usergroupid, username from $users where username like '%$search%'");

while ($row = mysql_fetch_array($sql)) {
    $id = $row['userid'];
    $name = $row['username'];
    $ugid = $row['usergroupid'];
}       

if ($ugid == '21') {

    $sql4 = "INSERT INTO $vip (fuid, username) VALUES ('$id', '$name')";
    $res2 = @mysql_query($sql4, $con) or die(mysql_error());

    $sql2 = mysql_query("SELECT $id, field5 FROM $userfield");
    while ($row = mysql_fetch_array($sql2)) {
        $puid = $row['field5'];
    }

    $sql3 = "INSERT INTO $vip (puid) VALUES ('$puid')";
    $res = @mysql_query($sql3, $con) or die(mysql_error());
    echo 'Completed';
} else {
    echo 'User is not VIP'; 
}
4

1 に答える 1

0

取得したすべての行に対してこれらのクエリを実行しているわけではありません。foreachループ内でこれらのクエリを取得する必要があります。そうしないと、最後の行のみが影響を受けます。

于 2012-10-16T20:32:00.183 に答える