繁体   English   中英

PDO无法使用? 用于查询OFFSET的参数替换,仅用于数据值[重复]

PDO Cannot use ? parameter substition for query OFFSET, only for data value [duplicate]

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试使用? 而不是因为不能混合而绑定值? :binds在同一查询中,我需要使用吗? 对于我正在查询内插的数组。

//Set values
$limit = 5;
$offset = 2;
$location = array("Cornwall", "Devon", "Dorset", "Norfolk & Suffolk", "Somerset", "Wiltshire");

//Sort the array by adding ?
$qMarks = str_repeat('?,', count($location) - 1) . '?';

//Query using ? because you can't mix them in a query
$location[] = (int)$limit;
$location[] = (int)$offset;
$sql = $conn->prepare("SELECT * FROM adverts WHERE location IN ($qMarks) AND status = 2 LIMIT ? OFFSET ?");
$sql->execute($location);
$adverts=$sql->fetchAll();

这应该将数组中的每个字符串插入查询中,最后添加$limit$offset变量。

当我转储查询时,它似乎正在显示,因为它具有每个数组项,然后具有限制和偏移量的最后两个,但不运行;

array(8) { [0]=> string(8) "Cornwall" [1]=> string(5) "Devon" [2]=> string(6) "Dorset" [3]=> string(17) "Norfolk & Suffolk" [4]=> string(8) "Somerset" [5]=> string(9) "Wiltshire" [6]=> int(5) [7]=> int(2) }

这是我在代码中遇到的错误。

PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 ''5' OFFSET '0'' at line 1' in /advert.php:30
Stack trace:
#0 advert.php(30): PDOStatement->execute(Array)
#1 {main}
  thrown in advert.php on line 30
问题暂未有回复.您可以查看右边的相关问题.
2 使用背景重复仅用于颜色的缺点?

因此,我需要在布局上使用一些自定义颜色,但是我正在寻找一种更好的方法,而不是仅在布局中使用(background:url(something.jpg))拍一张巨大的图片。 通常,我正在考虑获取一个调色板(例如,从Adobe Kuler,colourlovers等公司获得),获取每种颜色的5 ...

3 使用COUNT,但仅用于特定值

我有一个表格,里面保存有比赛,我想生成一张表格,显示其中的当前排名。 到目前为止,我的代码如下所示: 我保存了每场比赛以及球队在那场比赛中得到的积分。 因此,我只需要计算每场比赛的胜负,即每支球队获得3分才能赢得胜利,有1分才能赢得平局,而0分则可以输掉局面。 但是,COUNT ...

4 Class vs Struct仅用于数据?

在诸如此类的情况下,在结构上使用类是否有任何优势? (注意:它只会保存变量,永远不会有函数) 与: 类似的问题: 什么时候应该在C ++中使用类vs结构? C ++中struct和class之间有什么区别? 我什么时候应该使用结构而不是类? ...

7 用于查询的PDO类

早上好。 我在一个类中有这个函数的问题: 无法理解我在做什么错,这是我如何使用该类: 确保在构造中创建的连接正常工作,现在我想知道为什么查询不正常并且不返回结果。 我希望我有机会在数组中输入多个值传递给BindParam,这就是为什么我创建了while的原因,但是我认为这是错 ...

8 休眠查询仅用于超类

我扩展了新实体Auditor的域模型,该模型从实体User扩展而来。 用户是旧实体(数据库表),该实体已经存在。 现在,如果对超类User(仅)执行了一些查询,Hibernate也会在审计员的表上附加左外部join子句。 有人知道如何解决吗? 用户类别 审核员班 用户 ...

9 Solr Dismax查询仅用于提升结果

我只想使用dismax查询来提高得分较高的那些文档,而不执行任何查询。 因此,例如,如果我想进行dismax查询,我将设置以下参数: 现在,我的问题是如何仍然可以应用此设置来增强结果文档? 我希望我能正确解释这个问题。 谢谢。 ...

10