执行let page = body.pageNum; let size = body.pageSize; let sql = """ select * from grid_table where (name like '%${body.name}%' or comment like '%${body.comment}%' or addtime = #{body.addtime} ) -- <if test="body.search != null and body.search!=''"> and (name like '%${body.name}%' or comment like '%${body.comment}%' or addtime = #{body.addtime} )</if> """; db.use("fast_admin").getSql(sql) return kits.toZx(db.use("fast_admin").page(sql));报错:"系统内部出现错误|PreparedStatementCallback; bad SQL grammar [select count(1) from (select * from grid_table where (name like '%goku_page%' or comment like '%111%' or addtime = ? )\n --) count_]; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') count_' at line 2 at Row:9~9,Col:39~47\n\nreturn kits.toZx(db.use(\"fast_admin\").page(sql));\n ^^^^^^^^^ ",
时间: 2024-03-27 18:40:38 浏览: 19
根据错误信息,看起来是您的SQL语句缺少必要的结尾语句,导致查询出错。您可以尝试在SQL语句的最后加上";",如下所示:
```
let page = body.pageNum;
let size = body.pageSize;
let sql = """
select * from grid_table
where (name like '%${body.name}%' or comment like '%${body.comment}%' or addtime = #{body.addtime} )
-- <if test="body.search != null and body.search!=''">
and (name like '%${body.name}%' or comment like '%${body.comment}%' or addtime = #{body.addtime} )
</if>
""";
sql = sql + ";"; // 加上分号
db.use("fast_admin").getSql(sql);
return kits.toZx(db.use("fast_admin").page(sql));
```
另外,您也需要检查SQL语句中的占位符是否正确,确保它们与查询参数匹配。
相关问题
$pagesize=10; $tbsql = "select count(*) from student_manage_sysytem"; $result = mysqli_query($conn, $tbsql); $row = mysqli_fetch_row($result); $num = $row[0]; mysqli_free_result($result); $npage = isset($_GET['page'])?:$page=1; $pagenum=new pre_page($npage,$num,$pagesize); $npage=$pagenum->npage(); // $_SESSION['t1page'] = $npage; // echo "pagesize=".$pagesize; $navi_page=new navigate_page("?",$num,$npage,$pagesize); $navi_page->show_page(); //显示翻页导航条 $limit=$navi_page->getlimit(); echo " 共 $num 本教材";解释每行代码
这段代码是一个在学生管理系统中用于分页查询的例子。让我为您解释每行代码的含义:
1. `$pagesize=10;`:设置每页显示的记录数为10。
2. `$tbsql = "select count(*) from student_manage_sysytem";`:构建查询语句,统计学生管理系统中的记录总数。
3. `$result = mysqli_query($conn, $tbsql);`:执行查询语句,将结果保存在 `$result` 变量中。
4. `$row = mysqli_fetch_row($result);`:从查询结果中获取一行数据。
5. `$num = $row[0];`:将记录总数保存在变量 `$num` 中。
6. `mysqli_free_result($result);`:释放查询结果的内存。
7. `$npage = isset($_GET['page'])?:$page=1;`:判断是否存在名为 `'page'` 的 GET 参数,如果存在将其值赋给 `$npage` 变量,否则将 `$page` 设置为1。
8. `$pagenum=new pre_page($npage,$num,$pagesize);`:实例化一个分页类 `pre_page`,传入当前页码、记录总数和每页显示的记录数。
9. `$npage=$pagenum->npage();`:获取经过处理后的页码。
10. `$navi_page=new navigate_page("?",$num,$npage,$pagesize);`:实例化一个导航条类 `navigate_page`,传入当前页码、记录总数、经过处理后的页码和每页显示的记录数。
11. `$navi_page->show_page();`:调用导航条类的 `show_page()` 方法,显示翻页导航条。
12. `$limit=$navi_page->getlimit();`:获取用于分页查询的 SQL 语句中的 LIMIT 子句。
13. `echo " 共 $num 本教材";`:输出记录总数信息。
这段代码通过分页实现了对学生管理系统中的数据进行查询,并提供了翻页导航条方便用户浏览数据。
async getTableData(){ const res=await this.$request.get(`/links-class/page?pageNum=${this.queryInfo.pagenum}&pageSize=${this.queryInfo.pagesize}`) if(res.code==200){ this.tableData=res.data.records this.total=res.data.total } },
这段代码是一个异步函数(async function),名为 `getTableData`。在该函数内部,使用了 `await` 关键字来等待一个异步请求的结果返回。具体来说,它调用了 `this.$request.get` 方法发送了一个 GET 请求,请求的 URL 是 `/links-class/page`,并且通过 URL 的查询参数传递了 `pageNum` 和 `pageSize` 参数。
当异步请求返回结果后,使用 `res` 变量接收结果。在这段代码中,如果返回结果的 `code` 等于 200,那么将返回结果中的 `data.records` 赋值给 `this.tableData`,并将返回结果中的 `data.total` 赋值给 `this.total`。
总体来说,这段代码的作用是获取表格数据,并将获取到的数据存储到 `tableData` 和 `total` 变量中。