试图显示数组的mysql查询结果

时间:2012-11-30 15:02:54

标签: php mysql forms

我的表单上有复选框。每个复选框都分配有1到10的值。这些值对应于服务名称表中的ID。这是表单复选框标记:

<input type="checkbox" name="serv[]" id="janitorial" value=1><label for="janitorial" class="radCheck">Full Service Janitorial</label>
<input type="checkbox" name="serv[]" id="strip" value=6><label for="strip" class="radCheck">Stripping & Waxing</label></br>
<input type="checkbox" name="serv[]" id="buff" value=2><label for="buff" class="radCheck">Floor Buffing/Burnishing</label>
<input type="checkbox" name="serv[]" id="carp" value=7><label for="carp" class="radCheck">Carpet & Upholstery Care</label><br>
<input type="checkbox" name="serv[]" id="tile" value=3><label for="tile" class="radCheck">Tile Cleaning & Restoration</label>
<input type="checkbox" name="serv[]" id="windows" value=8><label for="windows"class="radCheck">Window & Blind Care</label></br>
<input type="checkbox" name="serv[]" id="park" value=4><label for="park" class="radCheck">Parking Lot Care</label>
<input type="checkbox" name="serv[]" id="porter" value=9><label for="porter" class="radCheck">Day Porter</label></br>
<input type="checkbox" name="serv[]" id="snow" value=5><label for="snow" class="radCheck">Snow Removal & Landscape</label>
<input type="checkbox" name="serv[]" id="rest" value=10><label for="rest" class="radCheck">Restroom Services & Supplies</label>

这与所有其他表单数据一起发布,并通过电子邮件发送并输入到数据库中。我试图检索从数据库中选择的每个服务的名称,但无法弄清楚如何写我的查询结果。以下是服务查询的代码:

$conn=connect();

            $names = implode(',', $serv);
            $query = "SELECT SERVICE_NAME FROM SERVICES WHERE SERVICE_ID ({$names})";
            $result = mysql_query($query);                

            echo "$query";

输出:

SELECT SERVICE_NAME FROM SERVICES WHERE SERVICE_ID (1,7,3)

当我提交表格时,我检查了方框1,7和3。这对我来说似乎都是正确的。但是当我尝试通过fetch_array或fetch_row获取结果时,我会收到错误。我已经尝试了无数循环和尽可能多的建议,我可以在这里和其他网站找到。如何编写查询结果?请放轻松我,我对PHP很新,并且我确定我错过了一些简单的东西。

1 个答案:

答案 0 :(得分:1)

这是不正确的:

SELECT SERVICE_NAME FROM SERVICES WHERE SERVICE_ID IN (1,7,3)
                                                  ^^^^---missing

请注意,您对sql injection attack持开放态度。享受您的服务器pwn3d。您似乎也依赖于register_globals被启用(除非您在此处未显示的代码中执行操作)。绝对离开这段代码,更新你的PHP版本,并学习如何编写安全代码。