2012-02-16 171 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);