2014-09-10 16 views
0

我要設置req_status = "UNDONE"。我是否正確地聲明瞭sql?我是新來的 。它說警告:mysql_fetch_array()預計參數1是資源,布爾在基於一定條件的mysql中的聲明值

$res = mysql_query("SELECT * FROM request WHERE req_user = '$un',req_status = 'UNDONE' ORDER BY req_status DESC,req_important ASC,req_dateReceive DESC "); 

回答

0
$res = mysql_query(" 
        SELECT * 
        FROM request 
        WHERE req_user = '$un' 
        AND req_status = 'UNDONE' 
        ORDER BY req_status DESC, 
        req_important ASC, 
        req_dateReceive DESC 
              "); 

給出的語法絕對不是用逗號正確。嘗試使用AND。

expects parameter 1 to be resource, boolean given in

意味着PHP預期某種形式的資源的回報(如數組),但作爲查詢失敗就回來false

另外,請不要使用MySQL的,因爲它已經過時,更安全的方法已經存在,以防止 SQL注入(瞭解更多關於PDO或mysqli的)

+1

謝謝,即時通訊新的:)。 – lightyagami 2014-09-10 12:10:05

+0

如果有幫助,很高興! :) – 2014-09-10 12:11:11

1

你得到這個錯誤,因爲你的查詢執行失敗,因爲有在它的錯誤。

您必須使用ANDOR分開SELECT WHERE中的條件。

$res = mysql_query("SELECT * FROM request WHERE req_user = '$un',req_status = 'UNDONE' ORDER BY req_status DESC,req_important ASC,req_dateReceive DESC "); 
                   ^

更改爲

$res = mysql_query("SELECT * FROM request WHERE req_user = '$un' AND req_status = 'UNDONE' ORDER BY req_status DESC,req_important ASC,req_dateReceive DESC "); 
                   ^
0

替換上面

$res = mysql_query("SELECT * FROM request WHERE req_user = '$un' AND req_status = 'UNDONE' ORDER BY req_status DESC,req_important ASC,req_dateReceive DESC ");