2012-02-16 351 views
0

我有一個問題,運行一個SQL查詢使用PHP。php mysql的查詢語句

$sql = "SELECT * FROM ".self::$table_name; 
$result = mysql_query($sql); 
$r = mysql_fetch_array($result); 
print_r($r); 
die('<br>'.$sql); 

我在表中有大約70條記錄,但我只得到第一條記錄。 請參閱示例。

Array ([0] => site_url [setting_name] => site_url [1] => http://domain.com [value] =>  http://domain.com) 
SELECT * FROM siteconfig 

當我在phpmyadmin中運行查詢。它工作正常。

+0

您可以通過結果需要循環。 – j08691 2012-02-16 23:31:15

+0

我只使用print_r查看結果,我知道我必須使用while循環來獲得結果。我稍後會寫這個來檢查mysql_error。如果查詢顯示爲somthing,則查詢它沒有錯。質疑爲什麼只有1條記錄而不是全部70條記錄。 – Lalajee 2012-02-16 23:32:51

+0

問題是我使用的循環無法處理表中的2個變量。我開始使用mysql_fetch_array。哪些工作正常。 – Lalajee 2012-03-15 15:21:33

回答

1

做它象下面這樣:

$sql = "SELECT * FROM ".self::$table_name; 
    $result = mysql_query($sql); 

    while($r = mysql_fetch_array($result)){ 
    echo $r['col1']. " - ". $r['col2']; 
    // your stuff 
    } 
+0

謝謝你的回答。這工作。由於某種原因,我的函數不能處理2個變量表 – Lalajee 2012-03-15 15:22:47

2

你必須做一個循環來獲取所有的結果:

$r = array(); 
while($junk = mysql_fetch_array($result)) $r[] = $junk; 
print_r($r);