PHPからMySQLデータを取得した際に一括で配列に入れる方法
2020/09/25
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側のカラム名になるみたい。可読性と保守性が上がるので今後はこれを使っていく。
関連記事
-
MySQLの値について
既存プログラムの解析をしてて知ったこと。 MySQLの構造で「int(11)」と ...
-
文字コードのutf8_general_ciとutf8_unicode_ciの違い
MySQLで設定する時に使っているサーバーによってデフォルトの文字コードがutf ...
-
コマンドでMySQLに郵便番号データを入れる
練習としてコマンドから郵便番号データを入れた際のメモ。 --------- 1: ...
-
MySQLで経度緯度から半径○Kmのデータを抽出する方法
経度と緯度をtext型として格納しているMySQLのテーブルがあり、指定した経度 ...
-
mysqlで正規化できない時はシリアライズ使う
アンケートか何かに機能追加している際、配列を カンマ区切りで結合して文字列でDB ...