所以,在这个网站上有很多这个确切问题的实例。
但是他们中的大多数都有很多其他东西混合在一起,比如类,众多参数等。
我有一些非常基本的代码,不,真的,可能是最基本的代码:
try {
$connection = new PDO("mysql:host=localhost;dbname=desertstormweb_mybb", $mysql_user, $mysql_pass);
$test = 'SELECT * from mybb_users';
$statement = $connection->prepare($test);
$statement = $statement->execute();
$result = $statement->fetchAll();
print($result);
} catch(PDOException $e) {
echo $e->getMessage();
}
基本上,我只是想在表格中返回行,现在我已经多次使用过PDO,而且我从来没有遇到过这个问题。
我甚至开始引用我过去做过的其他脚本,并且无法弄明白......
发生了什么事?
答案 0 :(得分:1)
不要分配执行,否则你会覆盖对象:
$test = 'SELECT * from mybb_users';
$statement = $connection->prepare($test);
$statement->execute(); // invoke the execute, but don't overwrite
$result = $statement->fetchAll(); // PDO::FETCH_ASSOC
答案 1 :(得分:0)
http://php.net/manual/en/pdostatement.fetchall.php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
http://php.net/manual/en/pdostatement.execute.php
PDOStatement :: execute成功时返回TRUE,失败时返回FALSE。 所以没有:
$statement = $statement->execute();
只需使用
$statement->execute();
OR
if ($statement->execute())
{
$result = $statement->fetchAll();
print($result);
}