在同一页面上选择查询第二次不起作用...
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)名称
........
在同一页面上选择第二次查询不起作用...
答案 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 />";
}