0

我想要完成的是有一个带有预定义选项的选择表单元素

<select name="select1">
   <option value="value1">Value 1</option>
   <option value="value2">Value 2</option>
   <option value="value3">Value 3</option>
</select>

我的 sql 如下

$OptionValue = $_POST['select1'];

那是我应该如何从表单中获取所选选项的值并将其放入要查询的 php 变量中?

4

3 回答 3

1

您需要确保过滤用户输入以防止 sql 注入。仅这一点就很不安全。

确保您使用的是 PDO 或 MySQLi。如果不使用准备好的语句,您的用户输入需要转义。

这里

不过,基本上你做对了。

编辑:

从客户端我可以轻松地将其更改为:

<select name="select1">
   <option value="value1">Value 1</option>
   <option value="';DROP TABLE users">Value 2</option>
   <option value="value3">Value 3</option>
</select>

或类似的......现在如果你没有逃避你的输入,你就完蛋了。

于 2013-01-23T16:49:21.960 回答
0

在执行查询之前使用 $optionValue = mysqli_real_escape_string ($connection , $_POST['select1'])以防止大多数 SQL 注入。

于 2013-01-23T16:51:28.870 回答
0

第一步是防止使用准备好的语句进行 SQL 注入。示例:准备好的语句

使用它来将您选择的选项放入查询中: $mySelectedOption = $_POST['select1']; $query = "SELECT column_name FROM table_name WHERE column_name = '{$mySelectedOption}'";

于 2013-01-24T14:37:48.753 回答