0

PHP で使用している単純な SELECT ステートメントがあります。

$vote=mysql_query("SELECT * FROM `votes` where username = '$big_hand_username' AND 
`voter` = '$user_name'");

このステートメントを使用すると、行が返されません。1行返されるはずです。投票テーブルには 1 行しかなく、変数 $big_hand_username と一致するユーザー名フィールドが含まれています。$big_hand_username と $user_name の両方にデータが含まれており、確認のためにエコーアウトしました。

ただし、投票テーブルからすべてを選択すると、1 行が返されます。同じ変数を使用して、別のテーブルからすべてを選択することもできます。

$vote=mysql_query("SELECT * FROM `users` where username = '$big_hand_username'");

これは、一致するフィールド username を含む行が含まれているため、1 行を返します。

最初の select ステートメントを使用して行を行を行を取得できない理由がわかりません。何か不足していますか?それはテーブルの構造と関係があるのでしょうか? また、select ステートメントの後に while ループを実行してみましたが、何も問題はありません。どんなポインタも役に立ちます。

4

3 に答える 3

2

これを試して

$vote=mysql_query("SELECT * FROM `votes` where username = '".$big_hand_username."' AND 
voter = '".$user_name."'");
于 2012-12-05T13:15:22.237 に答える
0

以下の行を試してください

$sql="
        SELECT * FROM votes 
        WHERE username = '{$big_hand_username}' 
        AND voter = '{$user_name}'
    ";
echo $sql; // for debuging also user_name,big_hand_username check
// for preventing sql-injection
$vote=mysql_query($sql);
于 2012-12-05T13:54:29.123 に答える
0

これを試して

$vote = mysql_query("
            SELECT * FROM votes 
            WHERE username = '{$big_hand_username}' 
            AND voter = '{$user_name}'
        ");
于 2012-12-05T13:34:50.013 に答える