1

我想使用 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 这些行时它只返回一行。我用 email = chaitanya.pro@live.com 添加了 4 行。但它仍然只返回一行。

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

4

1 回答 1

3

根据文档fetch只获取一行。尝试fetch连续调用或使用fetchAll.

迭代示例:

while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
    var_dump($row);
}
于 2013-10-19T19:56:37.680 回答