我有一个使用以下结构创建的DB(四分之一):
id_quarto tipo_quarto vista_quarto |
a Single Mar |
b Single Mar |
c Single Mar |
d Single Serra |
我希望它返回id_quarto的结果,当tipo_quarto = Single和vista_quarto = Mar时,哪些值来自表单。
所以我写下以下内容:
$strSQL = "
SELECT id_quarto
FROM quartos
WHERE tipo_quarto='". $_POST['tipo_quarto'] ."'
AND vista_quarto='". $_POST['vista_quarto'] ."'";
$rs = mysql_query($strSQL);
$row = mysql_fetch_array($rs);
然后我循环它并写入表格如下:
while($row = mysql_fetch_array($rs)) {
<?
<table border="1">
<tr align="left">
<td width="75"><?php echo $row['id_quarto']; ?></td>
</tr>
</table>
这里的问题是它不返回id_quarto = a,只返回b和c。为什么这样,我该怎么做才能解决它?
感谢。
答案 0 :(得分:2)
$row = mysql_fetch_array($rs);
之后您还有mysql_query($strSQL);
。然后在while
循环中再次阅读$row
(结果集中的第二行)。
所以你的代码看起来像
$strSQL = "SELECT id_quarto FROM quartos
WHERE tipo_quarto='". $_POST['tipo_quarto'] ."'
AND vista_quarto='". $_POST['vista_quarto'] ."'";
$rs = mysql_query($strSQL);
// $row = mysql_fetch_array($rs); Don't need this line!!!
while($row = mysql_fetch_array($rs))
{
// output ....
}
此外,添加用于处理mysql错误的代码总是有意义的。