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にトリガーという機能があるらしくどのようなものか調べたところ、事前に「 ...
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...
MySQLでテーブル構造とデータをコピーする方法
MySQLで既にあるテーブルとデータに対して実験を行う必要があった。本番テーブル ...
MySQLで歯抜けになっているint型の数値を取得する
MySQLで歯抜けになっているシーケンス番号を 取得したいケースがあった。 ■ソ ...
MySQLiでINSERT文
MySQLiでINSERT文 ■ソース $mysqli = new mysqli ...