【发布时间】:2013-06-18 18:55:54
【问题描述】:
我做错了什么
class db
{
static $dbintance=null;
public function __construct()
{
try
{
self::$dbintance=new PDO("mysql:host=host;dbname=dbname",user,password);
}
catch( PDOException $e)
{
die( '<b>Errors:</b> '.$e->getMessage());
}
}
public static function isRecord($q)
{
$r=self::$dbintance->query($q)->fetch(PDO::FETCH_NUM);
if($r[0]) return true;
if(!$r[0]) return false;
}
}
用法
echo (db::isRecord("SELECT * FROM whcentral1 WHERE ItemDesc='ff'"))?'Yes':'NO';
错误
在非对象上调用成员函数 query()
【问题讨论】:
-
“我做错了什么”你使用的是单例,那就是你做错了。
-
使用
singleton有那么糟糕吗? -
这很糟糕,正是因为您面临的问题。如果它是一个普通对象,那么如果不先创建它,就无法调用方法。