我想使用PDO从MySQL数据库中获取电子邮件ID为“Chaitanya.pro@live.com”的所有行。这是我试过的:
<?php
$config= array(
'DB_USERNAME' => 'root',
'DB_PASSWORD' => 'mihir111');
try{
$conn = new PDO('mysql:host=localhost;dbname=social', $config['DB_USERNAME'], $config['DB_PASSWORD']);
$staement = $conn->prepare('SELECT * FROM places_visited WHERE email = :email');
$staement->execute( array( 'email' => 'chaitanya.pro@live.com' ) );
$results = $staement->fetch(PDO::FETCH_ASSOC);
var_dump($results);
} catch (PDOException $e) {
// echo 'ERROR'.$e->getMessage();
return false;
}
?>
我使用 PDO功能连接数据库,然后我使用预备语句执行 MySQL查询。
但是当我尝试var_dump这些行它只返回一行。我添加了4行email = chaitanya.pro@live.com。但它仍然只返回一行。
array(4) {
["id"]=>
string(1) "2"
["email"]=>
string(22) "chaitanya.pro@live.com"
["place_name"]=>
string(7) "Dominos"
["venue_name"]=>
string(11) "Kamla Nagar"
}
我是PHP的菜鸟,请帮帮我。感谢
答案 0 :(得分:3)
根据the documentation,fetch
只提取一行。
尝试连续致电fetch
或使用fetchAll
。
迭代的例子:
while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
var_dump($row);
}