在使用thinkphp6和layui实现一个后台分页效果的时候报了一个错误,请问下如何解决

1.这是报错的代码

image

2.这是运行结果

Screen Shot 2021-01-01 at 11.10.39 AM.png

3.我把代码中的limit()函数去掉后可以正常显示,当然返回的数据肯定是错误的,无法达到预期效果,效果如下:

Screen Shot 2021-01-01 at 11.14.00 AM.png

这是去掉 limit() 函数后的语句
` $result = Db::name('admin')->where('id', '>=', "$query")->select();
`

第一张截图里的代码我用在其他部分的时候有的能出效果有的就报错了,代码我一行一行的排查了,问题就出现在 limit()函数位置,请问下各位如何解决?

我在实现库存模块的时候就能达到预期效果,没有报错。
Screen Shot 2021-01-01 at 11.21.22 AM.png

阅读 2.2k
2 个回答

你这里面这个引号完全没必要,对于类型如果传递是正确的,MySQL 会自行推断,另外,如果你确实需要要给 int 类型,那就应该在 113 取值的时候,就转成 int ,而不是在使用时转换。
图片.png

问题解决了,在这段代码中 limit()函数传入的 变量类型是字符串,如果不转化为数字类型就会产生报错,
所以需要使用 intval()函数进行类型转换,修改后的代码如下:

就这样就可以完美解决了

        $result = Db::name('admin')->where('id', '>=', "$query")->limit(intval($limit))->select();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题