【问题标题】:use limit and where in php在 php 中使用限制和位置
【发布时间】:2015-11-19 11:45:45
【问题描述】:

我用 PHP 编写了这段代码。

$result = mysqli_query($connection, "SELECT * FROM app WHERE" . $_REQUEST['filter']  . " ORDER BY " . $_REQUEST['sort']);

$output = array();
while($row = mysqli_fetch_array($result)) {
    $record = array();
    $record['app_id'] = $row['app_id'];
    $record['app_name'] = $row['app_name'];

    $output[] = $record;
}

我也想使用 LIMIT。

当我在..... " ORDER BY " . $_REQUEST['sort'] "LIMIT 3"); 使用 LIMIT 时 它给了我这个错误: 过滤器=1=1 排序 = 1=1

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in ....service.php on line 80

我该怎么做? 提前谢谢你

【问题讨论】:

  • 您可以使用此代码进行 SQL 注入。如果$_REQUEST['filter'] 是一个字符串,这个查询也是无效的。您是否尝试将limit 添加到您的查询中?您还在这里错过了串联,$_REQUEST['filter'] " ORDER BY " 所以我怀疑您没有使用错误报告/检查日志。
  • 是的,我在这段代码的末尾使用了 LIMIT,但它不起作用
  • 这不是 PHP 问题,您可以阅读更多关于 mysql 查询本身的信息:dev.mysql.com/doc/refman/5.7/en/select.html
  • 您阅读我的全部评论了吗?你应该包括你尝试使用限制。
  • @Markomafs 他确实在这段代码中有 PHP 错误。

标签: php selection limit


【解决方案1】:

像这样将它附加到查询中:

mysqli_query($connection, "SELECT * FROM app WHERE" . $_REQUEST['filter'] " ORDER BY " . $_REQUEST['sort'] . " LIMIT 1,1");

【讨论】:

    猜你喜欢
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    相关资源
    最近更新 更多