我有PDO选择这个问题。
$db = new PDO("mysql:host=localhost;dbname=web", "root", "");
$result = $db->prepare('SELECT id, name, place, add FROM system_tab"');
$result->execute();
$result = $db->fetchAll();
foreach( $result as $row ) {
echo $row['first_name'];
echo $row['last_name'];
}
$db = null;
我得到了这个错误,谢谢你的帮助。
致命错误:在
中调用未定义的方法PDO :: fetchAll()答案 0 :(得分:2)
请尝试下面的代码...实际上你试图将fetchAll方法调用到db对象,但是这个fetchAll方法应该应用于保存已执行查询指针的语句。所以它应该如下。
$db = new PDO("mysql:host=localhost;dbname=web", "root", "");
$stmt = $db->prepare('SELECT id, name, place, add FROM system_tab"');
$stmt->execute();
$result = $stmt->fetchAll();
foreach( $result as $row ) {
echo $row['first_name'];
echo $row['last_name'];
}
我希望这会对你有所帮助,请随意发表评论。
答案 1 :(得分:0)
您需要提取$result
而不是$db
。
试试这个:
$result = $db->prepare('SELECT id, name, place, add FROM system_tab"');
$result->execute();
while ($row = $result->fetch(PDO::FETCH_ASSOC))
{
echo $row['first_name'];
echo $row['last_name'];
}