如何在使用$ _GET []后订购mysql查询

时间:2017-10-03 15:38:48

标签: php mysql

我使用$_GET[]从网址获取唯一的ID号,然后显示与该唯一ID匹配的每一行。他显示了所有行,但现在我仍然坚持如何通过另一个列名对其进行核心排序,因为一旦我使用了$_GET[],它就不允许我使用ORDER BY。我的查询代码如下

$query = 'SELECT * FROM magazine WHERE issue_number = ' . $_GET['unique_issue_id'];

我现在想通过issue_number列订购它。

提前致谢

2 个答案:

答案 0 :(得分:0)

$query = 'SELECT * FROM magazine WHERE issue_number = ' . $_GET['unique_issue_id'] . ' ORDER BY issue_number';

请记住在使用之前逃避您的GET参数,但这应该有效。不确定您使用的SQL是什么,但这里有一些想法要考虑。

Prepared Statements

MySql Escape

Mysqli Escape

答案 1 :(得分:0)

使用mysqli_prepare函数保护自己免受潜在的SQL注入攻击。

   //prepare the query
    $stmt = $mysqli->prepare("SELECT * FROM magazine WHERE issue_number=? order by issue_number"));
    $stmt->bind_param("s", $_GET['unique_issue_id'])

    //Execute the query
    $stmt->execute();

    //Loop through the results
    $result = $stmt->get_result();
    while ($myrow = $result->fetch_assoc()) {
    //Do stuff here
    }

不这样做会使您的应用程序容易受到攻击。祝好运!