【问题标题】:Unable to fetch multiple rows from MySQL using PDO [duplicate]无法使用 PDO 从 MySQL 获取多行 [重复]
【发布时间】:2013-10-19 19:53:35
【问题描述】:

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

【问题讨论】:

  • -&gt;fetch 的一次调用仅返回一行。该手册还显示了一些循环示例。

标签: php mysql sql pdo


【解决方案1】:

根据the documentationfetch 只获取一行。 尝试依次调用fetch或使用fetchAll

迭代示例:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 2018-11-14
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多