PHP mysql:2个类似的查询仅回显第二个查询的结果

时间:2013-06-23 21:43:55

标签: php mysql

第二个查询的结果会覆盖第一个查询的结果。 我以前从未遇到过类似的问题。

mysql表:

updateid    picture  movie  
  14          1       1  
  22          0       1  
  33          1       0

php文件:

<div id="imagecheck">
<?php 
$image_check= query("SELECT picture FROM list WHERE updateid = '$updateid' ");
foreach ($row as $image_check);

if (!($image_check))
{
?>

    <div class="result" id="camera<?php echo $updateid ?>">FOO</div>

<?php
}
else 
{
    ?>
    <div class="result" id="camera<?php echo $updateid ?>">BAR</div>

    <?php
}

?>
</div>
<div id="moviecheck">

  <?php 
  $movie_check = query("SELECT movie FROM list WHERE updateid = '$updateid' "); 
  foreach ($row as $movie_check);
    if  (!($movie_check))
    { 
    ?>
 <div class="result1" id="movie<?php echo $updateid ?>">FOO</div>

<?php
}
else 
{
    ?>
    <div class="result1" id="movie<?php echo $updateid ?>">BAR</div>

    <?php
}

?>

当我运行这两个查询时,

的结果

14回应BAR BAR

22与FOO FOO相呼应

33与FOO FOO相呼应

任何想法可能会出错?

1 个答案:

答案 0 :(得分:4)

可能是拼写错误。你正在使用变量:

  foreach ($row as $$movie_check);
                   ^^--- note the doubled $

e.g。

$x = 'foo';
$foo = 'bar';
echo $$x; // outputs 'bar'
echo $x; // outputs 'foo'

作为一般规则,永远不要使用变量变量。它们构成完全不可维护且几乎不可能调试的代码。