-6

簡単な質問はどこが間違っていますか?

$result = mysql_query("
    SELECT * FROM orders 
    WHERE Username='$username' 
        AND completed > ordered 
    ORDER BY completed ASC 
    LIMIT 1
") or die(mysql_error());

エラーもデータもありません。

4

2 に答える 2

3

クエリの構文は正しいかもしれませんが、アルゴリズムはおそらく正しくありません。

SELECT * FROM orders 
WHERE Username = ? 
AND completed > ordered 
ORDER BY completed ASC 
LIMIT 1

(そして、クエリをバインドし$usernameて、SQL インジェクション攻撃を軽減するようにしてください。)

おそらく含まれているordersテーブルがあります...何が含まれていますか? すべての注文が行われた後に完了するため、日付スタンプにすることはできません。

それで、それはINTでなければなりませんか?そして、あなたの会社ではうまくいけば不可能な、作られたよりも多くの注文を処理した人を選択したいと考えています( )。AND completed > ordered試してみてくださいcompleted < ordered

于 2012-08-01T14:16:51.633 に答える
-1

ご迷惑をおかけして申し訳ありませんが、それは単純なタイプミスの通知でした ">" それは "<" である必要があります。

$result = mysql_query("SELECT * FROM orders WHERE Username='$username' AND completed > ordered ORDER BY completed ASC LIMIT 1") or die(mysql_error());
于 2012-08-01T14:13:57.877 に答える