0

我有一个返回这个的函数:

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

然后我有这个:

$var = some();

但是,当我尝试获取 $var 时,页面将无法加载。希望任何人都可以帮助我,我知道执行不是空的,因为我会在 some() 中获取()结果。

当我对 $var 执行 var_dump 时,它返回 bool(true)

4

2 回答 2

4

PDOStatement::execute返回bool它是否成功,所以这是正确的功能,它让您知道查询已成功执行。

您需要返回的是结果集:

$this->query->execute();
return $this->query->fetchAll();

或者PDOStatement对象本身:

return $this->query;
于 2013-01-03T17:34:17.473 回答
1

你说的“获取 $var”到底是什么意思?PDOStatement::execute()方法返回一个布尔值。true如果成功或false失败。从 PDOStatement::execute() 的返回值中没有可取的东西。您在 PDOStatement 对象上调用 fetch。

如果在此代码中 $this->query 是您的 PDOStatement 对象,那么您可以...

$this->query->execute();
return $this->query

从您的函数中,这将返回您可以调用 fetch 方法的 PDOStatement 对象。或者只是从你的函数内部获取它,如果你想要的话,直接返回结果。

于 2013-01-03T17:35:29.970 回答