如何正确地让php从SQL数据库中提取数据并循环遍历它

时间:2013-01-25 10:44:49

标签: php sql pdo

我在循环浏览拉出的信息表单数据库(MySQL)时遇到问题

我想从论坛表中提取所有ID,如下所示:

SELECT ID FROM Forums

然后循环遍历所有ID并运行

SELECT ID FROM Catagory WHERE Forum_ID = ?

这在适当的php中是相同的:

$profile=$db->prepare('SELECT ID FROM Forums ');
$profile->execute();
$forums = $profile->fetch();

foreach ($forums as &$forum_ID) {

    // some code

    $profile=$db->prepare('SELECT ID FROM Catagories WHERE Forum_ID = ?');
    $profile->bindValue(1, $forum_ID);
    $profile->execute();
    $catagories = $profile->fetch();

    foreach ($categories as &$category_ID ) {

        //some more of my code
    }
}

使用此代码我收到错误:

Undefined variable: categories

请不要介意他们在我的数据库中拼写错误的拼写错误

提前致谢

编辑:对于此测试,我确保SQL服务器有一些东西要返回

3 个答案:

答案 0 :(得分:1)

我们不介意拼写错误。但是PHP的想法,

$catagories更改为$categories

答案 1 :(得分:0)

进行更改:

$catagories = $profile->fetch();

$categories = $profile->fetch();

拼写错误。

答案 2 :(得分:0)

您的拼写错误导致您遇到一些问题。 :)

你有:

$catagories = $profile->fetch();

foreach ($categories as &$category_ID ) {

    //some more of my code
}

因此,您将fetch()的值分配给$catagories,但下面的一行使用$categories

所以改成它:

$categories = $profile->fetch();

foreach ($categories as &$category_ID ) {

    //some more of my code
}