我有一个函数返回:
function some(){
...
return $this->query->execute();
}
然后我有了这个:
$var = some();
但是当我尝试获取$ var时,页面就不会加载。希望有人能帮助我 我知道execute不是空的,因为我在some()中获取()结果。
当我将var_dump改为$ var时,它返回bool(true)
答案 0 :(得分:3)
PDOStatement::execute
返回bool
是否成功,因此这是正确的功能,它让您知道查询已成功执行。
您需要返回的是结果集:
$this->query->execute();
return $this->query->fetchAll();
或PDOStatement
对象本身:
return $this->query;
答案 1 :(得分:1)
“fetch $ var”是什么意思? PDOStatement::execute()方法返回一个布尔值。 true
如果成功,或false
如果失败。从PDOStatement :: execute()的返回值中没有任何东西可以获取。您在PDOStatement对象上调用fetch。
如果$ this->查询是您在此代码中的PDOStatement对象,那么您可以...
$this->query->execute();
return $this->query
从你的函数中返回可以调用fetch方法的PDOStatement对象。或者只是从函数内部获取它并直接返回结果,如果那就是你想要的。