2012-01-14 49 views
0

例如,對於像SELECT MAX(field)這樣的查詢,查詢結果通常只是一個字段值,而不是將行返回給您。使用php來訪問mysql,我怎樣才能得到只有一個數字的查詢結果?

現在我想要得到的值的字段是整數類型。
由於我是一個PHP的初學者,我如何從查詢結果中獲得該值?
當我做了以下

$query = "SELECT MAX(stringid) FROM XMLString"; 
$result = mysql_query($query, $link); 
echo $result; 

那麼什麼是呼應的。 我有檢查由mysqlconnect做的db連接,它沒有問題。
而我在phpMyAdmin的MySQL中試過這個查詢,那麼查詢也是我想要的呢?

那麼爲什麼會這樣,以及任何解決方案?

謝謝!

+0

是的,你可以 - 這種SQL返回的值不是行 - 但它也可以返回null - 因此在檢查數字答案之前檢查null – Mike 2012-01-14 09:16:46

+0

mysql擴展已過時,並且已過時。新代碼應該使用mysqli或PDO,它們都具有重要的優點,例如支持預處理語句。 – outis 2012-01-14 10:11:14

+0

可能重複[從單行獲取單個值與MySQL/PHP](http://stackoverflow.com/questions/2962479/),[獲取單行,單列與PDO](http://stackoverflow.com /問題/ 1666710 /)。 – outis 2012-01-14 10:14:28

回答

-1

它有助於給最大的名字,你可以參考?此外,如果您認爲有語法錯誤,您可以添加錯誤以幫助澄清。

$query = "SELECT MAX(stringid) as maxNum FROM XMLString"; 
$result = mysql_query($query, $link) or die(mysql_error()); 
echo $result; 
+0

真棒.. downvote沒有解釋.. thx – Silvertiger 2012-01-14 09:16:22

+1

這是因爲你的答案不起作用 – 2012-01-14 09:23:53

0

mysql_query不打印結果。也許試試這個:

echo mysql_result($result);

2

你總是會檢索行從SQL查詢回來,哪怕只有一個行有一個字段。您可以直接檢索使用mysql_result特定行的具體領域:

$query = "SELECT MAX(stringid) FROM XMLString"; 
$result = mysql_query($query, $link); 
echo mysql_result($result, 0, 0); 
0
$query = "SELECT MAX(stringid) as val FROM XMLString"; 
$result = mysql_query($query, $link); 
$rows = mysql_num_rows($result); 
if($rows > 0) { 
    $rstAry = mysql_fetch_array($result); 
    echo $rstAry['val']; 
} 

嘗試這個

0

你沒有得到任何結果,因爲mysql_query返回一個數據庫對象。

您需要使用mysql_fetch_array來處理這個「數據庫對象」。該命令從MySQL「數據庫對象」中提取「array」。您提取的array是查詢生成的行。在你的情況下,它只是一行。

下面是代碼:

  1. 此步驟設置你的查詢:

    $query = "SELECT MAX(stringid) as val FROM XMLString";

  2. 這一步將運行查詢,並返回數據庫對象:

    $result_database_object_whatever = mysql_query($query, $link);

  3. 這一步將處理的數據庫對象,並給您所查詢的行的一組:

    $result_array = mysql_fetch_array($query, $link);

  4. 這一步會呼應你的查詢返回的第一行:

    echo $result_array[1];

+1

它被稱爲MySQL *結果資源*。 :) – deceze 2012-01-14 09:25:44

0

你可以做這樣的事情:

$query = "SELECT MAX(stringid) FROM XMLString"; 
$result = mysql_query($query, $link); 
$fetch = mysql_fetch_assoc($result); 
echo $fetch['stringid']; 

mysql_fetch_assoc()函數檢索關聯數組中的數據。

相關問題