私はOOPを初めて使用するので、クラスを作成して使用する方法を学ぼうとしています。現在、MySQLテーブルからデータをフェッチしようとしています。
MySQLとの接続を作成するために、私はPDOを使用しています。データベース接続用に別のクラスを作成しました。そのクラスをshow.phpファイルに含めました。次に、MySQLデータベースからデータをフェッチしたいと思います。問題は、show.phpファイルを実行すると、このエラーメッセージが表示されることです。
致命的なエラー:10行目のC:\ xampp \ htdocs \ jm\show.phpにある未定義のメソッドDBConnection::prepare()を呼び出します`
しかし、それはちょうど表示することになっていたarray
。
この問題の解決策は何ですか?
ファイルdb.class.php
<?php
class DBConnection {
function DBConnection(){
$host = 'localhost';
$dbname = 'srijon';
$user = 'root';
$pass = '';
try {
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $DBH;
}
catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
} // function ends
} // class ends
?>
ファイルshow.php
<?php
require_once 'db.class.php';
function get_all(){
$db = new DBConnection();
$sql = "SELECT * FROM information";
$STH = $db->prepare($sql);
$STH->execute();
$STH->setFetchMode(PDO::FETCH_ASSOC);
return $STH;
}
echo get_all();
?>