【问题标题】:SQL LIMIT doesn't work with define [duplicate]SQL LIMIT 不适用于定义 [重复]
【发布时间】:2016-03-09 03:04:05
【问题描述】:

我正在用 PHP 编写一个 SQL 请求。请求像这样正常工作:

$testQuery = "SELECT `title` FROM `bibliography` Where title LIKE '%$search%'";

我需要添加一个限制。如果我添加一个带有数字的 LIMIT 就可以了:

$testQuery = "SELECT `title` FROM `bibliography` Where title LIKE '%$search%' LIMIT 5";

但如果我使用定义:

define( 'PAGING', 2 );
$testQuery = "SELECT `title` FROM `bibliography` Where title LIKE '%$search%' LIMIT PAGING";

它会抛出一个错误:

未声明的变量:PAGING SQL=SELECT title FROM bibliography where title LIKE '%%' LIMIT PAGING

但是在代码的其他部分 PAGING 工作正常。为什么这不起作用,我如何使用定义作为限制?

【问题讨论】:

  • 标记使用的 dbms。 (例如,LIMIT 是特定于产品的。)
  • 您定义了一个常量,但在 sql 中被视为字符串。您需要先从引用的字符串中分离出来。 $testQuery = "SELECT title FROM bibliography Where title LIKE '%$search%' LIMIT ".PAGING.";";

标签: php sql limit sql-limit


【解决方案1】:

你能像这样在查询中传递一个变量而不是常量吗? (或者必须是常数)

$define = 5;
$testQuery = "SELECT `title` FROM `bibliography` Where title LIKE '%$search%' LIMIT $define";  

【讨论】:

    猜你喜欢
    • 2021-05-08
    • 2018-08-24
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多