我正在尝试使用? 而不是因为不能混合而绑定值? :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

  ask by user2598957 translate from so

本文未有回复,本站智能推荐:

1回复

使用PDO时无法将标量值用作数组[重复]

这个问题已经在这里有了答案: 无法将标量值用作数组 4个答案 我正在尝试将数据从JSON API输入到MySQL数据库中,但是出现错误。 这是错误。 警告:无法在第8行的C:\\ xampp \\ htdocs \\ simplehtmldom \\ example
4回复

PDO数组中的重复值

我需要从数据库中获取一些货币ID,这是我的代码 这是$currencies数组 Array( [0] => Array ( [curr_id] => 643 [0] => 643 [cur
1回复

无法从PDO阵列提取数据

可能是时间太晚或用户出错,但我无法从PDO提取变量,而PDO通常可以正常工作。 当我通过执行$ array-> results()打印结果时,得到以下行: 但是,在其他项目中,当与其他人一起工作时,我只是像这样引用变量: 这显然是在行之后 我一直在进行故障排除,但没有得出任何
1回复

cookie中的数组,使用pdo查询访问

我在cookie中有一系列id。 当我打印cookie数组时,它打印如下: ["39","580"] 。 我需要访问id 39和580 。 我已经尝试了在这样的查询中使用它所需的一切: 谢谢
1回复

使用PDO通过单个查询插入多行

我已切换到PDO,并且在构建和执行SQL查询时遇到麻烦,该SQL查询将仅执行一次即可插入多行。 json_decode之后的$data内容: 码:
1回复

使用PDO更新未知值的未知字段?

我正在尝试将记录更新到我的表中,我提前不知道将要更新的字段,将更新的字段数或这些字段将保留的值 - 其中一些将设置为null。 我已经选择记录事先记录的内容和更改后的记录之间的变化,而不是简单地更新整个记录(考虑到任何时候只有一个字段可能会发生变化,这样做似乎毫无意义)。 这些记录的更改
1回复

在PDO中动态使用数组值插入值

我在将数组值插入数据库表时遇到问题。 这是我的项目,它使用带有数组值的动态添加的新行(通过js)将发票创建为数据库表中的发票。 我在php(PDO)中的代码如下:我的表单值如下:我的完整代码是: 而且我写了JAVASCRIPT来添加和删除表上方的行来添加/删除值。 我需要帮助,如何使
1回复

无法使用查询值创建数组

我尝试将查询值保存到数组中,但不会被填充。 该查询应该给出一些信息,因为数据库中的任何值都可以完成术语,并且cookie也具有值。 我的错误在哪里? 输出: 数组()