勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPからMySQLデータを取得した際に一括で配列に入れる方法

   2020/09/25  PHP MySQL データベース

MySQLからデータを取得して、PHP側で配列に入れる際に今まで一個ずつ書いていた。ソースとしては以下のような形。

 

$query = '
	SELECT *
	FROM tableA
';
$row = $mysqli->query($query);

while ($rs = $row->fetch_array(MYSQLI_ASSOC)) {
	$data['name'] = $rs['name'];
	$data['id'] = $rs['id'];
	$data['pass'] = $rs['pass'];
	$data['status'] = $rs['status'];
	$data['mail'] = $rs['mail'];
}

 

 

ただ、他の人のソース見て衝撃だったんだけど、こんなまだるっこしい事をしなくても一括で取得できた。

 

//1件のみ取得なら以下のような形
$query = '
	SELECT * 
	FROM tableA 
	LIMIT 1
';
$row = $mysqli->query($query);

if($rs = $row->fetch_array(MYSQLI_ASSOC)) {
	$date = $rs;
}

//複数件を取得するなら以下のような形
$query = '
	SELECT * 
	FROM tableA 
';
$row = $mysqli->query($query);

while ($rs = $row->fetch_array(MYSQLI_ASSOC)) {
	$data[$rs['code']] = $rs;
}

 

 

キーに関してはMySQL側のカラム名になるみたい。可読性と保守性が上がるので今後はこれを使っていく。

 - PHP MySQL データベース

  関連記事

MySQLの値について

既存プログラムの解析をしてて知ったこと。 MySQLの構造で「int(11)」と ...

文字コードのutf8_general_ciとutf8_unicode_ciの違い

MySQLで設定する時に使っているサーバーによってデフォルトの文字コードがutf ...

コマンドでMySQLに郵便番号データを入れる

練習としてコマンドから郵便番号データを入れた際のメモ。 --------- 1: ...

MySQLで経度緯度から半径○Kmのデータを抽出する方法

経度と緯度をtext型として格納しているMySQLのテーブルがあり、指定した経度 ...

mysqlで正規化できない時はシリアライズ使う

アンケートか何かに機能追加している際、配列を カンマ区切りで結合して文字列でDB ...