第二个查询的结果会覆盖第一个查询的结果。 我以前从未遇到过类似的问题。
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相呼应任何想法可能会出错?
答案 0 :(得分:4)
可能是拼写错误。你正在使用变量:
foreach ($row as $$movie_check);
^^--- note the doubled $
e.g。
$x = 'foo';
$foo = 'bar';
echo $$x; // outputs 'bar'
echo $x; // outputs 'foo'
作为一般规则,永远不要使用变量变量。它们构成完全不可维护且几乎不可能调试的代码。