PHPからMySQLのデータを取得する
目的
PHPからMySQLのデータを取得する方法についてメモします。これができるとjavascriptを使用し、web画面上にデータベースの値を表示するなど幅が広がります。
環境
- MySQL 5.5.62
- PHP 5.6.40
準備
適当なデータベースの下にテスト用のテーブルを作ります。今回はtestdbというデータベースをあらかじめ定義しておき、その配下に作りました。
CREATE TABLE testdb.phptest(
col1 varchar(2),
col2 varchar(2),
col3 varchar(2)
);
INSERT INTO testdb.phptest (col1,col2,col3) VALUES ('a1','a2','a3');
INSERT INTO testdb.phptest (col1,col2,col3) VALUES ('b1','b2','b3');
INSERT INTO testdb.phptest (col1,col2,col3) VALUES ('c1','c2','c3');
コード
以下のようなコードになります。mysli_connectの引数には接続するMySQLのサーバー名(もしくはIPアドレス)とIDパスワードの認証情報、データベースを適宜入力してください。
<?php
//接続情報の定義
$con = mysqli_connect('host_name', 'your_id', 'your_pass', 'db_name');
//文字コード指定
$con->set_charset('utf8');
//結果格納用リスト
$rtns = array();
//sql文作成
$sql = "SELECT * FROM testdb.phptest;";
//結果の格納
if ($rtn = mysqli_query($con, $sql)) {
foreach ($rtn as $row) {
$rtns[]=array(
'col1' =>$row['col1'],
'col2' =>$row['col2'],
'col3' =>$row['col3'],
);
}
}
header('Content-Type: application/json; charset=UTF-8');
//出力
echo json_encode($rtns);
// 切断
mysqli_close($con);
?>
結果
以下のような結果が出力され、JSON形式でMySQLのデータを取得することができました。
[{"col1":"a1","col2":"a2","col3":"a3"},{"col1":"b1","col2":"b2","col3":"b3"},{"col1":"c1","col2":"c2","col3":"c3"}]
イチからPHPの勉強をする場合