这段代码出错。
致命错误:在第12行的C:\ wamp \ www \ progapps \ addReminder.php中的非对象上调用成员函数prepare()
这是我的代码:
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");
?>
可能的原因是什么?我该如何解决这个问题呢?感谢大伙们!
这应该工作
$currency = '₱';
define("DB_SERVER", "localhost");
define("DB_USER", "root");
define("DB_PASS", "");
define("DB_NAME", "hrisdb");
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();
}
try {
$query = $dbh->prepare("SELECT * FROM reminder_type;");
$query->setFetchMode(PDO::FETCH_ASSOC);
$query->execute();
} catch (PDOException $ex) {
echo $ex->getMessage();
}
如果您想在一个类中使用它,请看一下这个扩展的PDO类
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句