2011-11-04 53 views
1

我在我的SQL數據庫有一個表的具體列,表有兩個字段,一個爲ID,另外一個整數。我要搶在整數字段其中ID是等於一個具體的數字我傳遞值。id字段被稱爲「id」和整場被稱爲「日誌級別」。這是我得到的代碼,但它沒有給我想要的結果。SQL SELECT從特定行

$result = mysql_query("SELECT loglevel FROM Logs WHERE id='$number'"); 
echo "Pulled from SQL: " . $result; 

這個輸出是

Pulled from SQL: Resource id #2 

你能幫我,所以輸出爲「2」,如果在SQL表中的值是2?

感謝,

回答

4

您需要獲取使用mysql_fetch_assoc(),或mysql_fetch_array()(或他人)的結果。 $result通過mysql_query()爲返回,是一個結果的資源,而不是實際的行集:

$result = mysql_query("SELECT loglevel FROM Logs WHERE id='$number'"); 

// If the query completed without errors, fetch a result 
if ($result) { 
    $row = mysql_fetch_assoc($result); 
    echo $row['loglevel']; 
} 
// Otherwise display the error 
else echo "An error occurred: " . mysql_error(); 

當你期望多行返回而不是隻有一個,獲取他們while循環中。在mysql_fetch_assoc() documentation中有很多這樣的例子。

+0

完美的作品!謝謝。 – user1028882

0

$結果= mysql_query( 「選擇的記錄等級FROM日誌WHERE ID = '$號'」);

這裏$結果是一個記錄集/ MySQL的資源不是PHP數組。您需要使用mysql_fetch_assoc()或mysql_fetch_array()來訪問$ result。

if ($result) { 
    while($row = mysql_fetch_assoc($result)){ 
    $my_assoc[] = $row; 
    } 
} 
var_dump($my_assoc); 

這將打印查詢中的所有數據。