私はOOPで自分の手を試しています。最近私に親切ではありませんでした。ここに私のクラスは次のとおりです。OOP - 関数が定義されていませんか?
class db {
protected $host = "";
protected $dbname = "";
protected $user = "";
protected $pass = "";
function execute($query, $parameters, $usefetch) {
$dsn = "mysql:host=$this->host;dbname=$this->dbname";
$pdo = new PDO($dsn,$this->user,$this->pass);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$statement = $pdo->prepare($query);
$statement->execute($parameters);
if($usefetch) {
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
return $result;
} else {
return SUCCESS;
}
}
catch(PDOException $ex) { return $ex; }
}
function __get($var) {
return $this->$var;
}
}
私はそれを定義し、私はこのエラーを取得し、「実行」関数を呼び出すしようとすると:ここ
Fatal error: Uncaught Error: Call to undefined function execute() in /var/www/html/api/classes/sessions.php:49 Stack trace: #0 /var/www/html/index.php(3): require_once() #1 {main} thrown in /var/www/html/api/classes/sessions.php on line 49
は、私は(デバッグ)、それを呼び出すようにしようとしている方法です
$db = new db();
die(var_dump($db.execute("SELECT * FROM sessions", [], true)));
このエラーが発生する理由はわかりません。それは私のPHPの設定で何かができますか?
何が起こっている
' $ DB-> 'の代わりに' $のdb.'をお試しください – Rasclatt
-___________________________-検索に3時間かかります – Hiyper
時間が無駄です:D – Rasclatt