2012-02-16 5 views
0

У меня возникла проблема с выполнением SQL-запроса с использованием php.php mysql query

$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

+0

Я использую только print_r. Я вижу, что мне нужно использовать while, чтобы получить результаты. Я напишу, что позже для проверки mysql_error. если запрос отображает somthing, тогда запросите его не так. вопрос почему только 1 запись, а не все 70 записей. – Lalajee

+0

Проблема заключалась в том, что цикл, который я использовал, не может обрабатывать 2 переменных в таблице. Я начинаю использовать mysql_fetch_array. который работал нормально. – Lalajee

ответ

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

2

Вы должны сделать петлю, чтобы захватить все результаты:

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