我一直在尝试做一个搜索过滤器,但这个错误继续出现,有人能帮我吗?
{
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);
}
发布于 2020-10-14 16:29:37
问题是火鸟不知道关键字TOP
。在Firebird 2.5和更早的版本中,等价物是FIRST
。从Firebird 3开始,您还可以使用SQL标准FETCH
。
使用FIRST
select first 10 * from cadcli ...
使用FETCH
select * from cadcli ... fetch first 10 rows only
请注意,如果没有ORDER BY
,则顺序是不确定的。
我还注意到,您在查询中进行了字符串插值,这使得它很容易受到SQL注入的攻击。我建议您改用带参数的预准备语句(参见ibase_prepare
和ibase_execute
)。
https://stackoverflow.com/questions/64340152
复制相似问题