私は自分のサイトを PDO に変換していますが、約 200 のスクリプトの後、終わりに近づいています。すべてのスクリプトは、同じ関数スクリプトにアクセスします。関数スクリプト内には、次のようなデータベース クラスがあります。
class Database {
private $db_con = ''; //stores the connection
public function db_login(){
//log into the database
}
public function db_control($query, $params){
//run the query
}
}
//initiate the class and log in
$db = new Database();
$db->db_login();
これらの関数は両方とも正常に機能し、すべてのタイプのクエリに対して機能するため、ほぼ終了しました。しかし、私は問題に遭遇しました。
スクリプト内で数回使用される、作業中のスクリプトにスタンドアロン関数があります。私は通常、db_control を実行します。
$results = $db->db_control($query, $params);
ただし、関数内から実行する:
function func(){
$results = $db->db_control($query, $params);
}
エラーを返します。
致命的なエラー: 39 行目の C:....php の非オブジェクトでメンバー関数 db_control() を呼び出します
私は何を間違っていますか?この関数が削除されると、スクリプトの他のクエリが正常に機能するため、クラスは確実に開始されます。スタンドアロン関数内から db_control() にアクセスするにはどうすればよいですか?
ありがとう、
ジョー