douyou8047 2014-03-24 21:02
浏览 79
已采纳

引用PDO :: FETCH_ASSOC中的关联数组值

Im having a very basic problem using PDO and i need some help - chances are I have a syntax error somewhere but i cant for the life of me find it (im new to PDO and havent used associative arrays very much so focus on this part of the code!)

I am selecting all the data from my database associated with a user with a certain email address using the following code:

$id = 'email@address.com';


$stmt = $db->prepare('SELECT * FROM first_page WHERE email=?');
$stmt->bindValue(1, $id, PDO::PARAM_STR);
$stmt->execute();
$resulty = $stmt->fetchAll(PDO::FETCH_ASSOC);

print_r($resulty);
echo $resulty['title'];

the print_r displays the associative array in its entirety, but the echo doesnt show the stored value for the column 'title'. There is a column called 'title' in the database, so im presuming im referencing it incorrectly. However it looks near identical to an example I have in a book in front of me so I dont know where to start looking!

The print_r output is:

Array ( [0] => Array ( [user_id] => 93 [time_stamp] => 2014-03-04 22:00:16 [title] => Mr [first_name] => Pete [surname] => John [phone] => 2147483647 [email] => email@address.com))
  • 写回答

2条回答 默认 最新

  • doufu1970 2014-03-24 21:05
    关注

    $stmt->fetchAll() returns an array of associative arrays, because it supports returning more than one row worth of data.

    Even if your result set has one row, fetchAll() still returns an array of one element, which is the associative array for the one row.

    So you need:

    echo $resulty[0]['title'];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?