【问题标题】:How to output data when using $stmt->fetch(PDO::FETCH_ASSOC);使用 $stmt->fetch(PDO::FETCH_ASSOC); 时如何输出数据
【发布时间】:2016-01-20 08:25:50
【问题描述】:

使用$stmt->fetch(PDO::FETCH_ASSOC)时如何正确输出数据?现在我在做的时候得到一个单词作为我的结果

"select name, author, title from d_books"

// Other PDO stuff goes here
$arr = $stmt->fetch(PDO::FETCH_ASSOC);
foreach ($arr as $titleData) {
   echo $titleData['name'];
}

【问题讨论】:

    标签: php mysql pdo


    【解决方案1】:
     $pdo = new PDO(/*Your credentials*/);
     $sql = `select name, author, title from d_books`
     $stmt = $pdo->prepare($sql);
     $stmt->execute(); 
    
     while ($arr = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo $arr['name'];
     }
    

     $pdo = new PDO(/*Your credentials*/);
     $sql = `select name, author, title from d_books`
     $stmt = $pdo->prepare($sql);
     $stmt->execute(); 
     $arr = $stmt->fetchAll(PDO::FETCH_ASSOC);
     foreach ($arr as $titleData) {
        echo $titleData['name'];
     }
    

    在运行不带任何参数的查询时,您始终可以使用pdo->query() 方法,这样更快,但我认为这种情况不会发生太多(运行不带任何参数的查询)。

    【讨论】:

    • 您的答案有效。我使用的是fetch 而不是fetchAll。也许这就是为什么我一直将单个字母作为输出。
    猜你喜欢
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    相关资源
    最近更新 更多