问题描述
你好,我是一名学生,我有一项关于 MVC 架构的工作, 我必须编写 findAll() 方法 老师把他的MVC结构强加给我们,我承认我什么都不懂
不知道怎么让类做动态查询
我收到此错误:
我有这个:
<?PHP
//require('model/Pokemon.PHP');
abstract class AbstractModel
{
protected static $bdd;
/**
* Create query object
*
* @param $sql
* @param $classNameObject
* @param array $params
*
* @return bool|PDOStatement
*/
protected static function createquery($sql,$classNameObject,$params = [])
{
//Pour pouvoir executer des requetes sql
$query = self::DB()->prepare($sql);
$query->setFetchMode(PDO::FETCH_CLASS,$classNameObject);
$query->execute($params);
return $query;
}
/**
* Get PDO connection
*
* @return PDO
*/
private static function DB()
{
// A compléter
// Une seule instance de BDD avec la classe singleton
// Effectue la connexion à la BDD et renvoi un objet PDO.
if (self::$bdd === null) {
// Création de la connexion
self::$bdd = new PDO('MysqL:host=' . DB_HOST . ';dbname=' . DB_NAME,DB_USER,DB_PASSWORD,[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,PDO::MysqL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
]);
}
return self::$bdd;
}
/**
* Sélection de tous les enregistrements d'une table
* @return array Tableau des enregistrements trouvés
*/
public function findAll()
{
$sql = 'SELECT * FROM {$this->class}';
$query = $this->createquery($sql,self::class);
return $query->fetchAll();
}
/**
* Sélection d'un enregistrement suivant son id
* @param int $id id de l'enregistrement
* @return array Tableau contenant l'enregistrement trouvé
*/
public function findOneById($id){
$sql = 'SELECT id,name FROM {$this->class} WHERE id = :id';
$query = self::createquery($sql,self::class,[
'id' => $id
]);
return $query->fetch();
}
}
你能帮我吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)