在同一页面上选择查询第二次不工作

时间:2018-12-06 10:22:32

标签: php mysql select mysqli pdo

  

在同一页面上选择查询第二次不起作用...

my_page.php

require_once 'self_class.php';
$user = new USER();

$under_id = "0";
$get_categories_main = $user->runQuery('SELECT * FROM category WHERE Under LIKE :under ORDER BY Id ASC ');
$get_categories_main->bindParam(':under',$under_id);
$get_categories_main->execute();

if(isset($_GET['both'])){
    echo "Both";
    while($fetch_category_main=$get_categories_main->fetch(PDO::FETCH_ASSOC))
    {
        echo $fetch_category_main['Id'].") ".$fetch_category_main['Name']."<br />";
    }
}

echo "Main";
while($fetch_category_main=$get_categories_main->fetch(PDO::FETCH_ASSOC))
{
    echo $fetch_category_main['Id'].") ".$fetch_category_main['Name']."<br />";
}

当我访问 my_page.php 时,页面的结果是:

  

主要

     

Id)名称

     

Id)名称

     

Id)名称

     

Id)名称

     

Id)名称

     

........

太棒了!结果符合预期...


当我同时访问 my_page.php?时,页面的结果是:

  

两者

     

Id)名称

     

Id)名称

     

Id)名称

     

Id)名称

     

Id)名称

     

........

糟糕!结果与预期不符...

预期结果是:

  

两者

     

Id)名称

     

Id)名称

     

Id)名称

     

Id)名称

     

Id)名称

     

........

     

主要

     

Id)名称

     

Id)名称

     

Id)名称

     

Id)名称

     

Id)名称

     

........

在同一页面上选择第二次查询不起作用...

1 个答案:

答案 0 :(得分:0)

您不能在查询中多次使用同时。要解决您的问题,正确的方法是只使用一次同时并创建一个数组,然后在 foreach 中调用它。

put '  <Contact>';
if (pi ne "") then put '    <PersonalId>' pi +(-1) '</PersonalId>';
if (pi ne "") then put '    <EveningTelephoneNum>' '. ' +(-1) '</EveningTelephoneNum>';
put '  </Contact>';

您还可以如下使用 For

    require_once 'self_class.php';
    $user = new USER();

    $under_id = "0";
    $get_categories_main = $user->runQuery('SELECT * FROM category WHERE Under LIKE :under ORDER BY Id ASC ');
    $get_categories_main->bindParam(':under',$under_id);
    $get_categories_main->execute();

    while ($fetch_category_main = $get_categories_main->fetch(PDO::FETCH_ASSOC)) {
        $category[] = $fetch_category_main;
    }

    if(isset($_GET['both'])){
        echo "Both";
        foreach ($category as $key => $value) {
            echo $value['Id'].") ".$value['Name']."<br />";
        }
    }

    echo "Main";
    foreach ($category as $key => $value) {
        echo $value['Id'].") ".$value['Name']."<br />";
    }