그래서 모든 데이터베이스 요청을 처리 할 데이터베이스 클래스를 만들었습니다. 모든 것은 생성자를 거치며 값을 반환해야합니다.PHP PDO 커스텀 클래스가 객체를 돌려주고 어떤 객체를 반환하지 않았습니까?
이 클래스는 너무
<?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;
}
}
나는 모든 기능이 문제를주는 바 제거됩니다. true 또는 false를 반환하기위한 것입니다. 대신 $result = new Database('query', $query);
을 호출 할 때 반환 값은 많은 데이터가있는 객체입니다
내가 잘못했는지 알고 싶습니다.
empty()는 boolean을 반환하므로 'return! empty ($ result);'이면 충분합니다. –
알아. 나는 코드에 실망하여 모든 것을 시도하고 있었다. – samdunne