簡體   English   中英

MySQL select語句不返回行

[英]MySQL select statement not returning rows

我有一個簡單的SELECT語句,我在PHP中使用:

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

使用此語句時,我不會返回任何行。 我應該返回1行。 我只在投票表中有一行,它包含與變量$ big_hand_username匹配的用戶名字段。 $ big_hand_username和$ user_name都包含數據,我已經回應它們以確保。

但是,當我只從選票表中選擇所有時,我會返回1行,這是您所期望的。 我也可以使用相同的變量從另一個表中選擇所有:

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

這將返回1行,您可以期望它包含一行,其中包含與字段用戶名匹配的行。

我只是無法理解為什么我不能使用第一個select語句從投票表中返回一行。 我錯過了什么嗎? 這可能與桌子的建設有關嗎? 我也嘗試在select語句之后運行while循環但是看不到任何錯誤。 任何指針都會有所幫助。

嘗試這個

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

嘗試這個

$vote = mysql_query("
            SELECT * FROM votes 
            WHERE username = '{$big_hand_username}' 
            AND voter = '{$user_name}'
        ");

嘗試下面的線條

$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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM