簡體   English   中英

PHP-MYSQL在設置的參數內未返回結果

[英]PHP - MYSQL not returning result within set parameters

這是我正在運行的sql代碼:

SELECT * FROM documents WHERE cat=1 OR cat=3 AND date>=2001 AND date<=2003 AND run <90 ORDER BY RAND() LIMIT 0,10

它應返回2001-2003年之間第1類或第3類的所有條目,其中運行隨機數小於90,結果限制為10。

問題是它忽略了日期和運行參數,如果您分別運行所有內容,它們將起作用,但是像上面一樣,它們一起只能從類別1和類別3中返回10個帶有任何日期/運行的隨機條目。

知道為什么嗎?

謝謝。

在這種情況下,可能需要在OR語句兩邊加上括號;

SELECT * FROM documents WHERE (cat=1 OR cat=3) AND date>=2001 AND date<=2003 AND run <90 ORDER BY RAND() LIMIT 0,10
  SELECT *
    FROM documents
   WHERE (cat=1 OR cat=3)
     AND date>=2001 
     AND date<=2003
     AND run <90 
ORDER BY RAND()
   LIMIT 0,10

暫無
暫無

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

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