phpでオブジェクト指向の勉強をしています。試しにPDOによるDB接続をクラスで分け、可読性をあげたいと思っています。やりたいこととしては下記のように二つのクラスを定義します。
- dbに接続するクラス
- 上記を継承したdbのデータを取得するクラス
下記のように二つのクラスを定義して実行してみても、クエリが空のままとなってしまいます。子クラスでは親クラスを継承しているので、親クラスの実行の結果を引き継げると思ったのですが、正しくないのでしょうか。
アドバイスを頂ければ幸いです。
php
1<?php 2 3class Database 4{ 5 public function connect() 6 { 7 $user = "root"; 8 $pass = "user"; 9 $dbh = new PDO('mysql:host=localhost;dbname=db', $user, $pass); 10 } 11} 12 13 14class DataSelect extends Database 15{ 16 public function while_data() 17 { 18 $stmt = $dbh->query("SELECT * FROM tb"); 19 while ($row = $stmt->fetch()) 20 { 21 $co1[] = $row['co1']; 22 $co2[] = $row['co2']; 23 } 24 print_r($co1); 25 print_r($co2); 26 } 27} 28 29$Database = new Database(); 30$DataSelect = new DataSelect(); 31 32$Database->connect(); 33$DataSelect->while_data(); 34 35?>
回答4件
あなたの回答
tips
プレビュー