此代码出错。PDO致命错误 - 调用一个非对象的成员函数prepare()
Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\progapps\addReminder.php on line 12
这里是我的代码:
addReminder.php
<?php
include_once("includes/database.php");
try {
global $dbh;
$query = $dbh -> prepare("SELECT * FROM reminder_type;");
$query->setFetchMode(PDO::FETCH_ASSOC);
$query ->execute();
} catch(PDOException $ex) {
echo $ex->getMessage();
}
?>
这是数据库的连接。
database.php中
<?php
include("constants.php");
class MySQLDB {
function MySQLDB(){
global $dbh;
try{
$dbh = new PDO('mysql:host='.DB_SERVER.';dbname='.DB_NAME.'',DB_USER,DB_PASS);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER);
}catch(PDOException $e){
echo $e->getMessage();
die();
}
}
}
这里是常数
constants.php
<?php
$currency = '₱';
define("DB_SERVER", "localhost");
define("DB_USER", "root");
define("DB_PASS", "");
define("DB_NAME", "hrisdb");
?>
什么是可能的原因是什么?我该如何解决这个问题?感谢你们!
线的问题;您的SQL语句中可能有拼写错误,或者无法建立数据库连接。 – Sablefoste 2014-12-05 16:08:20
可能是'reminder_type;'中的分号; – 2014-12-05 16:10:13
分号不是问题,我已经删除它。仍然没有变化 – 2014-12-05 16:12:10