勉強したことのメモ

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でスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法

データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCP ...

MySQLでサイズの大きいファイルをインポートする際の注意点

MySQLでサイズの大きい(3GBほどの)dumpファイルを異なるサーバに移行し ...

MySQLで文字列を置換する方法

MySQLで文字列の置換を行いたかった。以下に方法をメモ。   目次1 ...

MySQLで構文エラーが出た際は予約語も疑う

MySQLで構文エラーが発生しており、チェックしたところ、どう見ても構文的には間 ...

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

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