无法使用PDO从MySQL获取多行

时间:2013-10-19 19:53:36

标签: php mysql sql pdo

我想使用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的菜鸟,请帮帮我。感谢

1 个答案:

答案 0 :(得分:3)

根据the documentationfetch只提取一行。 尝试连续致电fetch或使用fetchAll

迭代的例子:

while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
    var_dump($row);
}