勉強したことのメモ

webプログラマが勉強したことのメモ。

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が起動も再起動もできない

サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。 ...

PHPとSQLiteでi-mobileのデータをグラフ化

i-mobileでクリック保証のアフィリエイトだけど数値が並んでいるだけでグラフ ...

同一サーバの別ディレクトリでセッション振り分け

同じサーバ内にmemberとownerの別ディレクトリがあり、それぞれにsess ...

PHPバージョンの確認

PHPでバージョンの確認をする際にphpinfo()を 使って調べてたけど、バー ...

javascriptでHTML内に関数を書きたい場合

ダイアログ確認したいだけでわざわざfunctionを 書くのもアレだという時に使 ...

テンポラリテーブルで高速化

5000万件ぐらいデータが入っているテーブルから 日本語検索しないといけないケー ...

PHPからMySQLにシリアライズしたデータを格納

アンケートフォームみたいなのがあって、 今後も定期開催し、尚且つ質問内容は増減す ...

PHPで複数の画像やテキストファイルをzipファイルとしてダウンロードさせる

PHPで画像ファイルやテキストファイルをzip圧縮して、ダウンロードさせたかった ...

PHPで日時比較時の注意

PHPで日時を比較する際にミスがあったのでメモ。 基本形は下記。 $limit_ ...

pdfからjpg/jpegへ出来るだけ劣化させずに変換

やりたかった事はpdfからjpg画像への変換。 imagemagick使えばすぐ ...