首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ibase_query():动态SQL错误SQL错误代码= -104令牌未知

ibase_query():动态SQL错误SQL错误代码= -104令牌未知
EN

Stack Overflow用户
提问于 2020-10-14 01:25:54
回答 1查看 183关注 0票数 1

我一直在尝试做一个搜索过滤器,但这个错误继续出现,有人能帮我吗?

代码语言:javascript
运行
复制
{

    require_once('conn.php');

    
    $idata = $_POST["idata"];
    $fdata = $_POST["fdata"];

    $sql = "Select TOP 10* from cadcli where dtcad between $idata and $fdata";
    $query = ibase_query($dbh,$sql) or die (ibase_errmsg());
    while ($row = ibase_fetch_object($query)) {
        echo $row->COLUNA1."n";}
    ibase_free_result($query);
    echo "$query";
    ibase_close($dbh);


}
EN

Stack Overflow用户

回答已采纳

发布于 2020-10-14 16:29:37

问题是火鸟不知道关键字TOP。在Firebird 2.5和更早的版本中,等价物是FIRST。从Firebird 3开始,您还可以使用SQL标准FETCH

使用FIRST

代码语言:javascript
运行
复制
select first 10 * from cadcli ... 

使用FETCH

代码语言:javascript
运行
复制
select * from cadcli ... fetch first 10 rows only

请注意,如果没有ORDER BY,则顺序是不确定的。

我还注意到,您在查询中进行了字符串插值,这使得它很容易受到SQL注入的攻击。我建议您改用带参数的预准备语句(参见ibase_prepareibase_execute)。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64340152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档