【发布时间】:2012-11-06 06:56:13
【问题描述】:
我在 PHP 中使用 PDO ...我有以下问题。
以下代码不起作用。
class A {
private $getUsersQuery = "SELECT * FROM users";
...
public function getUsers() {
$DBH = A::getDatabaseConnection();
try {
$query = $DBH->prepare($this->getUsersQuery);
...
} catch(PDOException $e) {}
}
}
但如果我使用字符串,它就可以工作。
$DBH->prepare("SELECT * FROM users");
即使我在 prepare() 之外使用 echo,它也可以工作......
echo $this->getUsersQuery; // Outputs the sql string.
谁能指出问题出在哪里。
更新:
错误:
SQLSTATE[42000]:语法错误或访问冲突:1065 查询为空
谢谢
【问题讨论】:
-
同意它应该可以工作。您所说的“不起作用”到底是什么意思?有任何错误信息吗?
-
这里最重要的问题是:它怎么不工作?您收到什么错误信息等?
-
好吧,我不会说代码看起来很完美,但我们真的需要知道你遇到了什么错误。
-
如何调用 getUsers() ?
-
try-catch 块仅在您对异常执行某些操作时才有用(即将错误消息输出到文件)。如果您使用它来隐藏错误消息,您将永远不知道为什么您的代码不起作用。