index.php:Uncaught Ошибка: Вызов функции члена fetchAll() на булевой
$db = new Db();
$param = [':name' => 'Alex'];
$data = $db->sql('select * from test where name = :name',$param)->query();
var_dump($data);
и получаю ошибку:
Fatal error: Uncaught Error: Call to a member function fetchAll() on boolean
DB.php
public function sql($sql,array $params = null)
{
$sql = $this->connection->prepare($sql);
if($params){
foreach ($params as $key => $param) {
$sql->bindParam($key, $param);
}
}
$this->statement = $sql;
return $this;
}
public function query($type = 1)
{
$statement = $this->statement->execute();
return ($type == 1) ? $statement->fetchAll(static::$DB_FETCH) : $statement->fetch(static::$DB_FETCH);
}
Если Я выполняю в sql() метод, execute() и fetch() данные внутри него, он может действительно получить данные, но поместите метод execute() и fetch() в метод query(), получив ошибку me ssage, Любая идея? ;
'false' означает, что ваш запрос не удался, используйте http://php.net/manual/en/pdostatement.errorinfo.php, чтобы увидеть ошибку. –
@u_mulder I var_dump (statement) и получил ture ./Applications/MAMP/htdocs/Test/Program/Component/Db.php:60:boolean true – Fan
Используйте функцию в моем комментарии, __please__ –