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しようとすると、1行しか返されません。email = chaitanya.pro@live.com で 4 行追加しました。それでも、1行しか返されません。

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

documentationによると、 fetch1行のみをフェッチします。fetch続けて呼び出すか、 を使用してくださいfetchAll

反復例:

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