在创建分页类时,您的目标是将两个参数传递给 MySQL 存储过程的LIMIT 条款。但是,尝试使用 INT 参数和如下所示的查询结构会产生错误:
<code class="sql">SELECT * FROM `MyTable` LIMIT MyFirstParamInt, MySecondParamInt</code>
是否有替代方法来实现此参数化,或者动态查询构造和执行是唯一的解决方案?
在 MySQL 5.5.6 之前:
在版本 5.5.6 之前,MySQL 存储过程不支持 LIMIT 子句的参数化。因此,动态构建查询并执行它是唯一可行的方法。
MySQL 5.5.6 及以上:
从 MySQL 5.5.6 开始,它变成可以使用 INTEGER 参数对 LIMIT 和 OFFSET 子句进行参数化。为此,只需将存储过程参数直接传递给 LIMIT 和 OFFSET,如下所示:
<code class="sql">SELECT * FROM `MyTable` LIMIT ? OFFSET ?</code>
在此示例中,?表示您要传递的两个 INTEGER 参数的占位符。
以上是如何参数化MySQL存储过程中的LIMIT子句?的详细内容。更多信息请关注PHP中文网其他相关文章!