此代碼出錯。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