1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
/* -----------------------------------------------------------------------------------------------
* MySQLi classのAPI接続:MySQLiオブジェクト指向接続:「継承クラス」のリペアドステートメントの実行
* とsuper classメソッドの混在した利用例
* 2016.06.30 作成 yoshi of CXMedia Inc.
* -----------------------------------------------------------------------------------------------
*/
// MySQLiクラスを拡張(extends)したclassのロード
require_once "php_class/MySQLi_e.class.php";
// MySQLデータベース接続の初期設定
$db_define = array(
'DBhost' => 'localhost', //接続サーバ(URL)
'DBuser' => 'user', //DB接続のユーザ名
'DBpwd' => 'eLerning_PWD', //DB接続のパスワード
'DBname' => 'list_db', //接続データベース名
'DBtblm' => 'persons', //テーブル名
);
// MySQLi接続のインスタンス生成
$db = new MySQLi_e($db_define);
// MySQL接続の成功メッセージ表示
echo "■MySQL:「{$db->DBname}」のデータベース接続(オブジェクト指向型)に成功!",'<br>';
// SQL文の作成
$sql = "SELECT * FROM ".$db->DBtblm;
// 継承クエリメソッド:「Query()」の実行
$db->Query($sql);
// レコード件数メソッド:「Rowcount()」の実行
echo 'レコード件数:',$db->Rowcount(),'<br>';
/* ---------------------------------------------------------------
* プリペアドステートメントの実行
* bind_paramの変数は、quote処理するとバインドされないので注意
* --------------------------------------------------------------- */
// バインドパラメータの配列
$ary = array(
'pref_code' => 'KGW2',
'city_code' => 'K001'
);
// sqlのプリペアドステートメントの作成
$sql = "SELECT * FROM ".$db->DBtblm." WHERE pref_code=? && city_code=?";
// バインド変数に格納の配列
$outary = array(
'name' => '',
'birth'=> '',
'email'=> '',
);
// 継承の検索準備・バインド・実行・保存メソッド:「PrepareExecStore()」の実行
if( $db->PrepareExecStore($sql,$ary,$outary) ){
// 継承のプリペアドステートメントから結果取得してバインド変数に格納メソッド:「FetchStmt()」
while( $db->FetchStmt() ){
// 結果を表示
printf("%s 県の %s 市にいる人の名前は、 %sでメールは、%s<br><br>",
$ary['pref_code'],$ary['city_code'],$outary['name'],$outary['email']);
}
} else {
// 継承エラープロパティ:「DBerror」の表示
echo 'PrepareExecStore ERROR',$db->DBerror,'<br>';
}
// 継承のDBクローズメソッド:「Close()」の実行
$db->Close();
?>