【问题标题】:Selecting SQL Query from Javascript Selections从 Javascript 选择中选择 SQL 查询
【发布时间】:2013-10-21 13:47:29
【问题描述】:

https://docs.google.com/file/d/0B9urXGIYtvx-YzdYNlllbUxFeHM/edit?usp=drive_web

附上一张我到目前为止所做的照片。这只是前端,我需要后端方面的帮助。

我有一个关于使用 SQL 根据这些选择调出表格的问题。我使用 javascript 创建了这些下拉列表和选择,但我希望能够将它们传递给 sql 以根据选择搜索数据库并返回符合条件的任何内容。

解释一切:

我想在底部列出与 Select 分开的列表(例如 Select OrganizationID、OrganizationName、OrganizationType、EventID、EventName)

然后我希望顶部的两个选项是 FROM(例如 FROM Events、Organization),然后当然将它们与 WHERE 连接起来。

然后我希望包含或排除在 WHERE 之外(例如 WHERE EventID=32211)

我知道我也必须为此使用 PHP,这很好,我只需要帮助启动它以了解如何通过这些选择。

【问题讨论】:

    标签: javascript php sql


    【解决方案1】:

    最简单的方法是将所有内容包装在一个带有动作属性的 FORM 标记中。 action 属性将指定您要将数据发送到的页面(默认通过 http 帖子)。

    例如,您可以输入 action="searchresults.php"。

    您的服务器将从 $_POST 变量内的页面上的所有输入中接收值。 $_POST 变量是一个关联数组,其中键是输入元素的名称属性。

    所以要获取人们输入的值,您需要执行以下操作:

    if (isset($_POST)){
        $table=$_POST["Table"]; //where Table is the name of your first option box, it should get the value assigned to the option element.
    }
    

    获得值后,您需要构建查询。您应该考虑这样做的唯一方法是通过准备好的语句或存储过程。

    这是关于 MSSQL 准备语句的 php 文档:http://us2.php.net/sqlsrv_prepare

    长与短:

    //$conn is the database connection, $params is an array of the parameters to fill in the ?.
    $sql = "SELECT FROM table WHERE id=?";
    $stmt=sqlsrv_prepare ($conn, $sql , $params);
    

    切勿通过连接用户输入来构建查询,这会使您容易受到 SQL 注入攻击。

    如果您想了解更多细节,则必须提供更多信息、数据库架构、表单上的 HTML 以及一些预期结果。

    【讨论】:

      猜你喜欢
      • 2019-04-04
      • 1970-01-01
      • 2021-07-10
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多