سلام کد زیر برای من خطا میده مشکلش کجاست ؟
تو فایل BaseModel.php :
abstract class BaseModel{
protected $db;
protected $table;
protected $primaryKey = 'id';
public function __construct(){
try {
$this->db = new PDO("mysql:host=localhost;dbname=7todo;charset=utf8mb4",'root','');
}catch (PDOException $e) {
die("Failed To connect DB! Error : ".$e->getMessage()." in Line:".$e->getLine());
}
}
public function find($id){
$sql = "SELECT * FROM {$this->table} WHERE {$this->primaryKey}=:id";
$stmt=$this->db->prepare($sql);
$stmt->execute([":id"=>$id]);
return $stmt->fetch(PDO::FETCH_OBJ);
}
public function Insert(array $fields,array $values){
$bindFields = array_map(function($item) {
return ":{$item}";
}, $fields);
$bindData = array_combine($bindFields, $values);
$sqlFields = implode(', ', $fields);
$sqlValues = implode(', ', $bindFields);
$query = "INSERT INTO {$this->table} ({$sqlFields}) VALUES ({$sqlValues})";
$stmt = $this->db->perpare($query);
$stmt->execute($bindData);
return $stmt->fetch(PDO::FETCH_OBJ);
}
public function Delete($id){
$sql = "DELETE FROM {$this->table} WHERE {$this->primaryKey}=:id";
$stmt=$this->db->prepare($sql);
$stmt->execute([":id"=>$id]);
return $stmt->rowCount();
}
}
فایل User.php :
include_once "BaseModel.php";
class User extends BaseModel{
protected $table = 'users';
}
$user = new User();
$userData = $user->Insert(['name','email','username','password'],['Amir','Amir@gmail.com','Amir',password_hash('password',PASSWORD_BCRYPT)]);
var_dump($userData);