【发布时间】:2012-06-06 19:15:34
【问题描述】:
所以我创建了一个数据库类来处理我所有的数据库请求。一切都通过构造函数,它应该返回值。
课程是这样的
<?php
class Database {
/**
* This array holds all of the configuration settings for the database
* @var array
*/
private $config = array(
'username' => '',
'password' => '',
'host' => '',
'database' => ''
);
/**
* Holds the parameters passed to the class
* @var mixed
*/
private $parameters;
/**
* Database Handler
* @var [type]
*/
private $DBH;
/**
* Class constructor
* @param [type] $action [description]
* @param [type] $parameters [description]
*/
public function __construct($action, $parameters){
$this->parameters = $parameters;
$this->DBH = new PDO("mysql:host=".$this->config['host'].";dbname=".$this->config['database'], $this->config['username'], $this->config['password']);
return $this->$action();
}
private function query(){
$STH = $this->DBH->prepare($this->parameters);
$STH->execute();
$result = $STH->fetchColumn();
echo "<br><br>RESULT:".$result."<br><br><br>";
echo "<br><br>RESULT:".empty($result)."<br><br><br>";
return (empty($result)) ? FALSE : TRUE;
}
}
我删除了除功能问题之外的所有内容。它旨在返回真或假。相反,当我调用$result = new Database('query', $query); 时,返回值是一个包含大量数据的对象
知道我做错了什么吗?
【问题讨论】:
-
empty() 返回布尔值,所以
return !empty($result);就足够了。 -
我知道。我对代码感到沮丧,所以尝试了一切