我已经用数据库中的信息填充了一个下拉列表,我现在需要选择要在查询中使用的值,我明白我需要使用
var variable = $('#filter option:selected').val();
然而,我如何在查询中使用此变量。
选择语句php
$menu="
<select name='filter' id='filter'>
". $options . "
</select>
<br>";
查询
$queryFilms = "SELECT EventName FROM eventsrush WHERE EventName = '".$variable."";
$resultFilms = $mysqli->query($queryFilms);
$rowFilms = $resultFilms->fetch_assoc();
答案 0 :(得分:1)
当表单发布到服务器时,服务器端代码可以获取select
元素的选定值(假设它是表单的一部分),如下所示:
$_POST['filter']
这对应于表单中name
元素的select
属性。
注意: 您试图将发布的值直接连接到SQL查询中,并对数据库执行该查询。这会将您的代码打开到所谓的SQL Injection。您希望(在阅读该链接页面之后)从使用字符串连接的SQL语句切换到使用某种形式的预准备语句。
重点是从不信任从客户端提交的数据,并且从不将数据视为可执行代码。通过在SQL语句中使用该字符串,您将其视为要在数据库上执行的代码。您不希望用户在您的服务器上执行自己的代码。准备语句将输入隔离为数据,将其视为字符串值而不是代码。