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

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

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

$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!).

 $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. 

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

 $query="SELECT * FROM table_name"; 

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

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

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

 $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>'; 

БЛАГОДАРЯ

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

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