我有以下 MySQL 查询:
<div class="box" id="settlement1">
<?
$query = "SELECT name, pub, hospital, trade FROM settlements WHERE settlementID = 1";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$settlementName = $row['name'];
$pubExists = $row['pub'];
$hospitalExists = $row['hospital'];
$tradeExists = $row['trade'];
}
?>
<div class="settlement-name"><? echo $settlementName; ?></div>
<div class="settlement-contents">
<?
if ($hospitalExists == '1') { echo "<div class='hospital'>HOSPITAL</div>"; }
if ($pubExists == '1') { echo "<div class='pub'>PUB</div>"; }
if ($tradeExists == '1') { echo "<div class='trade'>TRADE</div>"; }
?>
</div>
</div>
<div class="box" id="settlement2">
<?
$query = "SELECT name, shop, hospital, trade FROM settlements WHERE settlementID = 2";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$settlementName = $row['name'];
$pubExists = $row['pub'];
$hospitalExists = $row['hospital'];
$tradeExists = $row['trade'];
}
?>
<div class="settlement-name"><? echo $settlementName; ?></div>
<div class="settlement-contents">
<?
if ($hospitalExists == '1') { echo "<div class='hospital'>HOSPITAL</div>"; }
if ($pubExists == '1') { echo "<div class='pub'>PUB</div>"; }
if ($tradeExists == '1') { echo "<div class='trade'>TRADE</div>"; }
?>
</div>
</div>
现在,第一个查询工作正常,但第二个查询返回与第一个相同的结果。
查询 1 到查询 2 中的所有字段都不同
^_^ <(求助!)
最佳答案
我不确定这是否是原因,但是......
第一个SQL:
$query = "SELECT name, pub, hospital, trade FROM settlements WHERE settlementID = 1";
第二个:
$query = "SELECT name, shop, hospital, trade FROM settlements WHERE settlementID = 2";
第一个是酒吧,第二个是商店。但是在第二种情况下,您不在 PHP 中使用 shop 值,仅使用 pub(不在此 SQL 字段中。
这里可能有 SQL 错误(数据库中没有字段)或 PHP 错误(检查结果数组中不存在的字段)。
关于php - 一个页面上的多个 MySQL/PHP 查询,不公平!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3236096/