[PHP&MySQLi] mysqli_fetch_row()

Статус
Закрыто для дальнейших ответов.

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
Здравствуйте! Может это я туплю, конечно, из-за бессонной ночи, но все же:
Код:
<?
include ("bd.php"); //Подключаемся к MySQL и выбираем базу;
$query = $db->query("SELECT text FROM news");
$news = mysqli_fetch_row($query);
var_dump ($news);
?>
В базе 2 записи:
id: 1, text: text1;
id: 2, text: text2;

Результат вывода var_dump -> только первая запись.

Что делать?
 

mrlasking

$_GET['rich'] or die('trying');
Регистрация
22.05.2012
Сообщения
323
Низя так "закодиваться", мануал в помощь, используя ф-цию mysqli_fetch_row, строки обрабатываем в цикле. Либо получайте результаты в массив.
 

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
Почему нельзя-то? В других местах все работает на ура...

Проблема в том, что массив получает только 1 строку.
 

mrlasking

$_GET['rich'] or die('trying');
Регистрация
22.05.2012
Сообщения
323
[member=Indev], да йолке, ну прочитайте мануал, вы и присваиваете массиву одну строку.
"Returns an array that corresponds to the fetched row, or NULL if there are no more rows." (с) мануал.

Я ж написал, если нужно пройтись по всем новостям - пишите:

Код:
while ($news = mysqli_fetch_row($result)) {
	    //action
    }
 

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
Не работает. Страница не грузится вообще.
 

mrlasking

$_GET['rich'] or die('trying');
Регистрация
22.05.2012
Сообщения
323
[member=Indev], ищите ошибки в синтаксисе, с недосыпу часто бывает)

А вообще, для себя использую вот такую штуку:
Код:
function query($query, $getOne = false) {
    $query = eregi_replace("\n", "", $query);
    $query = eregi_replace("\r", "", $query);
    $query = trim( $query );
    $newQuery = strtolower( $query );
    list( $queryType ) = split( "\ ", $newQuery );
    $queryResult = mysql_query( $query );
    $result = false;
    if ( $queryType == "select" ) {
	    $data = Array();
	    while ( $row = mysql_fetch_assoc ( $queryResult ) ) {
		    $data[] = $row;
	    }

	    $result = $data;
    } else if ( $queryType == "insert" ) {
	    $result = mysql_insert_id ();
    } else{
	    $result = true;
    }
    return $result;
}
пишете:
Код:
$news_array = query("SELECT text FROM news");
foreach ($news_array as $key => $news){
  // Обрабатываем новость
}
....

profit!
 

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
Все получилось, спасибо! Теперь поспать хоть можно)
 

mrlasking

$_GET['rich'] or die('trying');
Регистрация
22.05.2012
Сообщения
323
Всегда пожалуйста, вы написали, а я помню как в первый раз сам убивался в подобной ситуации и искал ошибку, аж мурашки пробежали;)
 

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
=) Все когда-то бывает впервые)
 
Статус
Закрыто для дальнейших ответов.
Верх Низ