Получение строк из таблицы mysql в php-массивы

Как я могу получить каждую строку таблицы mysql и поместить ее в массив php? Нужен ли мне многомерный массив? Цель всего этого - показать некоторые точки на карте google позже.

Ответ 1

Вам нужно получить все данные, которые вы хотите получить из таблицы. Что-то вроде этого будет работать:

$SQLCommand = "SELECT someFieldName FROM yourTableName";

Эта строка входит в вашу таблицу и получает данные из "someFieldName" из вашей таблицы. Вы можете добавить больше имен полей, где "someFieldName" , если вы хотите получить более одного столбца.

$result = mysql_query($SQLCommand); // This line executes the MySQL query that you typed above

$yourArray = array(); // make a new array to hold all your data


$index = 0;
while($row = mysql_fetch_assoc($result)){ // loop to store the data in an associative array.
     $yourArray[$index] = $row;
     $index++;
}

Вышеупомянутый цикл проходит через каждую строку и сохраняет его как элемент в новом массиве, который вы сделали. Затем вы можете делать все, что хотите, с этой информацией, например, распечатывать ее на экране:

echo $row[theRowYouWant][someFieldName];

Итак, если $theRowYouWant равно 4, это будут данные (в данном случае "someFieldName" ) из 5-й строки (помните, что строки начинаются с 0!).

Ответ 2

$sql = "SELECT field1, field2, field3, .... FROM sometable";
$result = mysql_query($sql) or die(mysql_error());

$array = array();

while($row = mysql_fetch_assoc($result)) {
   $array[] = $row;
}

echo $array[1]['field2']; // display field2 value from 2nd row of result set.

Ответ 3

Другие ответы действительно работают, однако OP запросил все строки, и если бы все поля были нужны, было бы гораздо лучше оставить его общим, вместо того, чтобы обновлять php, когда база данных изменяет

$query="SELECT * FROM table_name";

Кроме того, к этому моменту возвращение данных также может быть оставлено общим - мне очень нравится формат JSON, поскольку он будет динамически обновляться и может быть легко извлечен из любого источника.

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{
  echo json_encode($row);
}

Ответ 4

ЗДЕСЬ ВАШ КОД, ИСПОЛЬЗУЙТЕ ЭТО. ИСПЫТАНИЕ.

$select=" YOUR SQL QUERY GOOES HERE";
$queryResult= mysql_query($select);

//DECLARE YOUR ARRAY WHERE YOU WILL KEEP YOUR RECORD SETS
$data_array=array();

//STORE ALL THE RECORD SETS IN THAT ARRAY 
while ($row = mysql_fetch_array($queryResult, MYSQL_ASSOC)) 
{
    array_push($data_array,$row);
}


mysql_free_result($queryResult);


//TEST TO SEE THE RESULT OF THE ARRAY 
echo '<pre>';
print_r($data_array);
echo '</pre>';

БЛАГОДАРЯ

Ответ 5

Вы можете сделать это без цикла. Просто используйте команду fetch_all

$sql     = 'SELECT someFieldName FROM yourTableName';
$result  = $db->query($sql);
$allRows = $result->fetch_all();