2011-05-03 45 views
0

我試圖從mysql_query請求中回顯值$ query,但我沒有收到我通常收到的#id資源。請你能告訴我下面的代碼是什麼問題。另外,如果你能告訴我如何首先得到一個for循環來從查詢中獲取數據,然後json對它進行編碼,我將不勝感激。沒有收到來自PHP的資源ID MySQL查詢

我想從查詢的數據進行解析爲JSON是這樣的:

陣列字典,詞典看起來像這樣:

click_id = .... 
shorten_url = .... 
referrer = .... 
ip_address = .... 
country_code = .... 

PHP:

$dbhandle = mysql_connect($hostname, $username, $password) 
    or die("Unable to connect to MySQL"); 
mysql_select_db("nucleusi_mkdev") or die("Unable to select db"); 
$query = "SELECT `click_id` , `shorturl` , `referrer` , `ip_address` , `country_code`FROM yourls_log"; 
$result = mysql_query($query); 
echo $result; 
    ?> 
+0

會發生什麼,如果你做的var_dump($結果),而不是回聲?它只是空嗎? – rzetterberg 2011-05-03 21:16:18

+0

它返回:類型(mysql結果)的資源(2)。我試過mysql_num_rows,並且返回了查詢的正確數量的行。 – 2011-05-03 21:22:49

回答

0

的資源ID可能會根據請求更改。所以我不會專注於此。如果你對你可以做的結果很好奇mysql_num_rows($result);

該文檔有很好的代碼示例。查看mysql_fetch_assoc()以查找您的查詢結果,並查看json_encode()以編碼每條記錄。

快速片段演示兩者結合起來:

$records = array(); 
while ($row = mysql_fetch_assoc($result)) { 
    print_r($row); 
    array_push($records, $row); 
} 

echo json_encode($records); 
+0

在json_encoded之前,我將如何存儲mysql_fetch_assoc()結果?請注意我是新手! – 2011-05-03 21:21:05

+0

你試過了上面的代碼嗎?檢查一下,因爲它可能會給你一些想法。詳細說明*商店*。 – 2011-05-03 21:24:03

+0

完美運作。我不得不刪除打印行,但它的工作:) – 2011-05-03 21:41:55