[英]PHP PDO Fetch not working?
我可以成功选择一个对象,但是无法使用以下代码从数据库中获取所有行,有人可以看到任何明显的错误吗?
$sql2 = "SELECT ID, Latitude, Longitude, Name FROM Countries";
$stmt2 = $pdo->prepare($sql2);
$stmt2->execute();
while ($row = $stmt2->fetch(PDO::FETCH_ASSOC)) {
echo $countryID = $row->ID;
echo $countryName= $row->Name;
echo $longitude2 = $row->Longitude;
echo $latitude2 = $row->Latitude;
}
参数PDO :: FETCH_ASSOC告诉PDO将结果作为关联数组返回。 所以你可以获取数组不是对象
while ($row = $stmt2->fetch(PDO::FETCH_ASSOC)) {
echo $countryID = $row['ID'];
echo $countryName= $row['Name'];
//Rest of the code
}
您必须意识到PDO::FETCH
常数是有目的的。 而且,如果要使用对象符号,则必须指定PDO::FETCH_OBJ
而不是...ASSOC
。
无论如何, PDO::FETCH_LAZY
应该是最优选的方式,因为它将允许您使用ANY表示法:
while ($row = $stmt2->fetch(PDO::FETCH_LAZY)) {
echo $row->ID; // all
echo $row['ID']; // three
echo $row[0]; // works
}
比其他任何方法都更少的内存开销。 确切地说,完全没有内存开销。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.