php - PostgreSQL PDO 插入数组类型

标签 php sql arrays postgresql pdo

我正在尝试使用 PHP PDO 将值插入 PostgreSQL 数据库,但遇到以下错误消息:

SQLSTATE[22P02]: Invalid text representation: 7 ERROR: array value must start with "{" or dimension information

字段类型是PostgreSQL Array .

这是我的代码(简化版):

try {
  $sql='INSERT INTO table (fieldName, foo) VALUES (?, ?)';
  $fieldName=array('1','2');
  $data=array($fieldName, 'bar'); # fieldName is array type in PostgreSQL
  $STH = $conn->prepare($sql);          
  $STH->execute($data);
catch(PDOException $e) {
  # Handle exception
}

谢谢!

最佳答案

以防万一有人遇到这种情况,解决方案是内爆数组并添加 {}。

$fieldName='{'.implode(",",$fieldName).'}';

关于php - PostgreSQL PDO 插入数组类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17244637/

相关文章:

mysql - CakePHP HABTM 协会不工作

php - Zend 框架 - 不在数据库中输入值 - 垃圾进入

php - 使用 cake php 表单助手在表单元素内添加 html 元素

php - 限制 Wordpress 中现有和新的永久链接 slug 的大小以进行 SEO

mysql - 使用通配符查找 MySQL 数据库中的重复数据

sql - 选择查询并使用 SQL 中的 select 进行插入

sql - 当条件依赖于关系属性时如何搜索模型

Javascript-将字典转换为对象列表

php - 如何从数据库中选择行并用复选框显示它们?

c++ - 我不知道如何让我的程序使用局部变量而不是全局变量