【问题标题】:How to use a dynamic dropdown created from a database to build a MySQL Query如何使用从数据库创建的动态下拉列表来构建 MySQL 查询
【发布时间】:2017-08-08 03:07:17
【问题描述】:

我已经使用 PHP 构建了一个下拉列表来显示我的表中的所有唯一名称。我想使用该下拉列表,然后使用所选值动态创建 MySQL 语句。

Select * From iot_sensors WHERE Sensor_ID = ['USE the DROPDOWN MENU TO SELECT A NAME']

$select2 = "SELECT DISTINCT Sensor_ID FROM iot_sensors;";
$result2 = mysqli_query($conn, $select2);
$counter2 = mysqli_num_rows($result2);

echo "<select name ='Sensor Names'>";
    while ($row = mysqli_fetch_assoc($result2)){
    echo "<option value ='".$row['Sensor_ID']."'>".$row['Sensor_ID']."   </option>";
}
    $dynamic_query = "SELECT * FROM iot_sensors WHERE Sensor_ID = ['option value']";
echo "</select>";

我通常理解,如果我手动填充下拉菜单,我所要做的就是调用选项值,但这里的选项值用于 HTML 呈现。

【问题讨论】:

  • 如果某个答案解决了您的问题,请考虑接受该答案。以下是meta.stackexchange.com/questions/5234/… 然后返回此处并对勾号/复选标记执行相同操作直到它变为绿色的方法。这通知社区,找到了解决方案。否则,其他人可能会认为问题仍然悬而未决,可能想要发布(更多)答案。您将获得积分,并鼓励其他人帮助您。 欢迎来到 Stack!

标签: php html mysql drop-down-menu


【解决方案1】:

首先是一些警告:

Little Bobbyyour script is at risk for SQL Injection Attacks. 了解 preparedMySQLi 的声明。即使escaping the string 也不安全! Don't believe it?


首先,不要为 HTML 元素使用带空格的名称:

echo "<select name ='Sensor_Names'>";

一旦选择并提交(不知道您的表单method= 是什么),该项目将在$_REQUEST 数组中:

$sensor_name = $_REQUEST['Sensor_Names'];
$dynamic_query = "SELECT * FROM iot_sensors WHERE Sensor_ID = '$sensor_name'";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 2013-04-16
    • 2020-06-28
    • 1970-01-01
    相关资源
    最近更新 更多