经过很多小时的故障排除后,我发现我的主机(hosting2go.nl)不支持 PDO::mysql 他们只是没有安装驱动程序,所以我的 MVC 框架中的 Model.php 被搞砸了。我解决了我的数据库连接问题。问题是我对 mysqli 完全陌生,只是不知道如何使我的 model.php(为 PDO::mysql 编写)为 Mysqli 编写(而不是 PDO)我希望你们能帮助我......我的代码:
|原始 PDO 模型.PHP|
class Model
{
function __construct()
{
$this->db = new Database;
$this->data = $_POST;
}
public function query( $data = array(), $query){
try{
$result = $this -> db -> prepare($query);
$result->execute($data);
$result = $result->fetchAll(PDO::FETCH_ASSOC);
return $result;
}catch(PDOException $e){
echo $e;
}
}
|我的数据库连接|
class Database extends mysqli {
public function __construct() {
parent::__construct("localhost","root","","bartsite");
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
}
}
|这就是我用我的model.php FOR MYSQLI 做的|
class Model
{
function __construct()
{
$this->db = new Database;
$this->data = $_POST;
}
public function query( $data = array(), $query){
try{
echo $query;
$result = $this -> db -> prepare($query);
$result = $this -> db -> query($data);
$result->fetch_all();
//$result->execute($data);
//$result = $result->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOException $e){
echo $e;
}
}
}
|控制器的有用部分|
public function index(){
$data = $this->posts->getAllPosts();
var_dump($data);
$this->view->render("posts/index",$data);
return true;
}
|posts.models.php| 类帖子模型扩展模型{
function __construct()
{
parent::__construct();
}
public function getAllPosts(){
$result = $this->query(
array(),
"SELECT * FROM posts ORDER BY id DESC"
);
return $result;
}