私のデータベースのPDOクラスに基づいた単純なクラスを作成しようとしています。このIDを取得して情報を出力します。私は "qu"でこれをやろうとしていますが、次のエラーが表示されます: "未定義メソッドqu :: get()"を呼び出します。定義されていないメソッドへのPDOクラスのスコープの呼び出し
多分問題が混在しているので、ここの助けがあれば助かります。どうもありがとう!!
class db {
protected static $conn;
private function __construct(){}
public static function connect() {
if (!isset(self::$conn)) {
self::$conn = new PDO('mysql:host=localhost;dbname=database', DB_USER, DB_PASSWORD);
}
return self::$conn;
}
}
class qu {
private $db;
function quconn (&$db){
$this->db = &$db;
}
private static function getq($id){
$sql="SELECT * FROM table WHERE id=:id";
$stmt = self::quconn()->prepare($sql);
$stmt->execute(array(':id'=> $id));
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
}
//$data = db::connect()->query("SELECT * FROM table")->fetchAll(); // this works
$data = qu::getq("22"); //can i use something like this? this causes the error
print_r($data);
感謝ly、 "self :: $ db = &$db;"私に "構文エラー、予期しないT_OBJECT_OPERATOR"が返される – Tim
私はエラーを修正する方法を提案する私の答えを編集しました –