【发布时间】: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
titleFROMbibliographywhere title LIKE '%%' LIMIT PAGING
但是在代码的其他部分 PAGING 工作正常。为什么这不起作用,我如何使用定义作为限制?
【问题讨论】:
-
标记使用的 dbms。 (例如,LIMIT 是特定于产品的。)
-
您定义了一个常量,但在 sql 中被视为字符串。您需要先从引用的字符串中分离出来。
$testQuery = "SELECT title FROM bibliography Where title LIKE '%$search%' LIMIT ".PAGING.";";