为什么不在代码工作之下?
$pdo = new PDO('mysql:dbname=_test;host=localhost','root', '');
$select=$pdo->prepare("SELECT * FROM test WHERE th=:name");
$select->bindValue(":name","1");
print_r($select);
当我打印$ select it results:
PDOStatement Object ( [dbh] => PDO Object ( ) [queryString] => SELECT * FROM test WHERE th=:name )
谢谢!
答案 0 :(得分:3)
您应该为数据库调用添加错误处理,例如通过设置PDO来抛出异常。
您当前的问题是您实际上并未execute()
声明:
$select->bindValue(":name","1");
$select->execute();
之后,您需要fetch()
结果集中的结果才能真正看到数据库中的值:
while ($row = $select->fetch()) {
// do something with the data
}
编辑:要在PDO中启用例外(您不必再捕获它们,系统将抛出未处理的异常错误):
$pdo = new PDO('mysql:dbname=_test;host=localhost','root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));