0

我对 MySql 数据库的 Rest 调用有问题。

我使用 JS 对象并通过使用 java 后端的 rest get 调用发送它。

    requestParams: {
        pageStart: 0,
        results: 10
    } 

我已经为此请求配置了查询

"get-users" : "SELECT * FROM ${_dbSchema}.${_table} LIMIT ${pageStart}, ${results}"

但是 queryParams 在后端转换为字符串,在响应时我收到此错误

{"error":500,"reason":"Internal Server Error","message":"DB reported failure executing query SELECT * FROM shema.user LIMIT ?, ? with params: {results=10, pageStart=0} error code: 1064 sqlstate: 42000 message: 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 ''0', '10'' at line 1"}

我可以在 sql-query 中解决这个问题吗?

4

1 回答 1

0

从您的错误消息中:

{"error":500,"reason":"Internal Server Error","message":"DB 报告执行查询失败 SELECT * FROM shema.user LIMIT ?, ? with params: {results=10, pageStart=0} 错误代码:1064 sqlstate:42000 消息:您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行“0”、“10”附近使用的正确语法”}

似乎子句中的数值LIMIT被设置为字符串而不是数字,因为它们用单引号括起来,例如''0', '10'',从错误通知的摘录中,每个数字 (010) 是如何用单引号'0'和括起来的'10'

于 2013-01-24T18:49:02.570 回答