使用PDO返回执行

时间:2013-01-03 17:30:41

标签: php pdo

我有一个函数返回:

function some(){
  ...
  return $this->query->execute();
}

然后我有了这个:

$var = some();

但是当我尝试获取$ var时,页面就不会加载。希望有人能帮助我 我知道execute不是空的,因为我在some()中获取()结果。

当我将var_dump改为$ var时,它返回bool(true)

2 个答案:

答案 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对象。或者只是从函数内部获取它并直接返回结果,如果那就是你想要的。