2012-03-03 65 views
2

我有這種情況,我不知道爲什麼它不工作。我敢打賭,這很簡單,但我無法找到解決方案。從其他函數返回的mysql_query不工作?

這是第一個文件:

$result = query("SELECT name FROM table WHERE something=1 LIMIT 1"); 
$row = mysql_fetch_row($result); 
echo $row[0]; 

這是從第二個文件查詢功能:

function query($query){ 
    return mysql_query($query) or die (mysql_error()); 
} 

錯誤我得到的是:

mysql_fetch_row() expects parameter 1 to be resource, boolean given 

@行,其中

$row = mysql_fetch_row($result); 

是。

所以,很簡單,這是爲什麼不這樣工作,並且工作時我更換

$result = query("SELECT name FROM table WHERE something=1 LIMIT 1"); 

$result = mysql_query("SELECT name FROM table WHERE something=1 LIMIT 1"); 
+0

如果你在這兩種情況下使用var_dump($ result),你會得到什麼? – MyStream 2012-03-03 02:19:14

+0

是的,他們在其中有變量,但傳遞後我回應$查詢,它很好。還有其他問題,我不知道爲什麼和如何,但我已經解決了。 – 10robinho 2012-03-03 02:27:42

+1

F .... F .... S .. – 2012-03-03 02:31:24

回答

2

更改query功能

function query($query){ 

    $result = mysql_query($query); 
    if ($result === FALSE){ 
     die(mysql_error()); 
    } 
    return $result; 
} 
0

當我第一次開始編程時,我經常遇到這個錯誤。我會得到這個最典型的原因是因爲數據庫連接沒有被初始化,或者因爲我調用了錯誤版本的mysql/sql/mysqli。除此之外,確保在查詢中拼寫正確無誤是關鍵。

我會做的測試之一是將我的查詢與一組實際值進行比較,然後在phpmyadmin中運行並查看它是否成功。如果是這樣,這可能是由於缺乏適當的db連接。

+0

是的,我經歷了所有這些,我不是一個真正的初學者,只是非常罕見的錯誤讓我困惑。 – 10robinho 2012-03-03 02:39:51