繁体   English   中英

PHP PDO提取和foreach-我没有获得第一列

[英]PHP PDO fetch and foreach - I'm not getting the first column

这是我的第一篇文章,因此我将逐渐了解社区的工作方式,以便日后也能为您提供帮助。

我有一个index.phpdb.php用于在一个非常小和简单的应用程序中测试PDO,第一个是html,第二个是数据库连接。

index.php

 <h1><?php echo $fjoin_bookname; ?></h1>
    <?php foreach($join as $j): ?>
        <tr>
            <td> 
                <?php echo 'Page: '. $j['pageNumber']; ?>
            </td>
            <td>
                <?php echo $j['pageNote']; ?>
            </td>
        </tr>
    <?php endforeach; ?>

db.php

//get books and pages Join
    $query='SELECT * 
            FROM books
                INNER JOIN pages
                ON books.bookID = pages.bookID
            ORDER BY pageNumber ASC';

    $join = $db->query($query);
    $fjoin = $join->fetch();
    $fjoin_bookname = $fjoin['bookName'];

这是一个从书中获取带有相应注释的页码的应用,这将有助于在不同设备上跟踪几本书。

问题:我没有从“页面”表中获得第一行。 在插入fetch方法之前,一切正常

$fjoin = $join->fetch();
$fjoin_bookname = $fjoin['bookName'];

问题有人会帮助我解决这个问题吗?

当您打电话给

$join->fetch()

它从当前位置返回项目并将光标移至下一个。 您可以将所有元素都提取到var中,然后从第一个元素中获取fjoin_bookname:

db.php

//get books and pages Join
$query='SELECT * 
        FROM books
            INNER JOIN pages
            ON books.bookID = pages.bookID
        ORDER BY pageNumber ASC';

$statement = $db->query($query);
$join = $statement->fetchAll();
$fjoin = $join[0];
$fjoin_bookname = $fjoin['bookName'];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM