MySQL запрос mysql_fetch_array - PullRequest
       3

MySQL запрос mysql_fetch_array

0 голосов
/ 08 февраля 2011
$data = mysql_query("SELECT * FROM users);

теперь данные хранятся в переменной $data.Я хотел бы сохранить данные MySQL в массиве и вернуть это.

$data_array = mysql_fetch_assoc($data);

Это будет хранить первую строку (первый массив) данных.

сейчас, чтобы сохранить всемне было интересно, что мне делать.

Ответы [ 4 ]

3 голосов
/ 08 февраля 2011

Стандартный подход:

    $res = mysql_query($sql);
    $data = array();
    while(($row = mysql_fetch_array($res)) !== false) {
       $data[] = $row;
    }

// now $data is an array with all rows

http://php.net/manual/en/function.mysql-fetch-array.php

Возвращает массив строк, которые соответствует извлеченному ряду, или ЛОЖЬ, если строк больше нет.

Этот подход работает с mysql_fetch_* функциями.

1 голос
/ 08 февраля 2011
while ($row = mysql_fetch_assoc($data))
   {
     array_push($data_array,$row);
   }
0 голосов
/ 17 февраля 2011
  $res = mysql_query($sql);
    $data = array();
    while(($row[] = mysql_fetch_array($res)) !== false) {
    }
0 голосов
/ 08 февраля 2011

Если ваш набор результатов большой, это не очень хорошая идея.Он может использовать много памяти для процесса.

Сказав это, вы можете хранить все это в массиве следующим образом:

<?php

$query="select * from table_xyz";
$result = mysql_query($query) or die(mysql_error());
$arr_table_result=mysql_fetch_full_result_array($result);

function mysql_fetch_full_result_array($result)
{
    $table_result=array();
    $r=0;
    while($row = mysql_fetch_assoc($result)){
        $arr_row=array();
        $c=0;
        while ($c < mysql_num_fields($result)) {        
            $col = mysql_fetch_field($result, $c);    
            $arr_row[$col -> name] = $row[$col -> name];            
            $c++;
        }    
        $table_result[$r] = $arr_row;
        $r++;
    }    
    return $table_result;
}

?>

Получил пример кода с сайта PHP .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...