php bind_param 限制
php bind_param for limit
我在将值绑定到 php 中的 mysql 查询时遇到问题。
$this->conn->prepare("SELECT * FROM tablename LIMIT ? , ? ");
$pageStart = 11;
$pageEnd = 20 ;
$stmt->bind_param("ii" , $pageStart , $pageEnd );
$stmt->execute();
这将返回 20 行。有帮助吗?
这是正确的行为。
...
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
...
逗号后面的数字是行数。
如果您想要 10 条记录,只需说明:
SELECT * FROM tablename LIMIT 11 , 10;
Query is executing correctly. Your parameters having incorrect values as per expected output.
如果您想要来自 11-20
查询的记录应该是:
SELECT * FROM tablename LIMIT 11 , 10
当您将 20 作为第二个参数传递时,它返回 20 行
您可以使用 LIMIT offset, row_ count
或 LIMIT row_count OFFSET offset
$pageStart = 11;
表示结果从11开始,$pageEnd = 20 ;
表示11
之后的20个结果
所以你现在得到 20 个结果。
要获得最多 10 的结果,您需要设置 $pageEnd = 10.
它会 return 您 result 11 to 21
关于您应该更改的变量名称
$stmt->bind_param("ii" , $pageStart , $pageEnd );
到
$stmt->bind_param("ii" , $pageStart , $pageEnd - $pageStart + 1);
因为LIMIT
的第二个参数是要选择的行数。第一个参数是偏移量。
我在将值绑定到 php 中的 mysql 查询时遇到问题。
$this->conn->prepare("SELECT * FROM tablename LIMIT ? , ? ");
$pageStart = 11;
$pageEnd = 20 ;
$stmt->bind_param("ii" , $pageStart , $pageEnd );
$stmt->execute();
这将返回 20 行。有帮助吗?
这是正确的行为。
...
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
...
逗号后面的数字是行数。
如果您想要 10 条记录,只需说明:
SELECT * FROM tablename LIMIT 11 , 10;
Query is executing correctly. Your parameters having incorrect values as per expected output.
如果您想要来自 11-20
查询的记录应该是:
SELECT * FROM tablename LIMIT 11 , 10
当您将 20 作为第二个参数传递时,它返回 20 行
您可以使用 LIMIT offset, row_ count
或 LIMIT row_count OFFSET offset
$pageStart = 11;
表示结果从11开始,$pageEnd = 20 ;
表示11
所以你现在得到 20 个结果。
要获得最多 10 的结果,您需要设置 $pageEnd = 10.
它会 return 您 result 11 to 21
关于您应该更改的变量名称
$stmt->bind_param("ii" , $pageStart , $pageEnd );
到
$stmt->bind_param("ii" , $pageStart , $pageEnd - $pageStart + 1);
因为LIMIT
的第二个参数是要选择的行数。第一个参数是偏移量。