使用Codeigniter 3.1.10将数组和JSON插入PostgreSQL时出错
我正在从事一个使用Codeigniter 3.1.10框架和PostgreSQL作为数据库的项目。我将表单值从控制器传递到模型,如下所示:使用Codeigniter 3.1.10将数组和JSON插入PostgreSQL时出错,postgresql,codeigniter,codeigniter-3,Postgresql,Codeigniter,Codeigniter 3,我正在从事一个使用Codeigniter 3.1.10框架和PostgreSQL作为数据库的项目。我将表单值从控制器传递到模型,如下所示: $data = array( 'field1' => $value1, 'field2' => $value2, 'field3' => $value3 ) $result = $this->modal->function_insert($data); 其中,值1是字符串,值2是数组,值3是JSON。我正在
$data = array(
'field1' => $value1,
'field2' => $value2,
'field3' => $value3
)
$result = $this->modal->function_insert($data);
其中,值1是字符串,值2是数组,值3是JSON。我正在尝试向PostgreSQL插入数据。在表中,正确定义了数据类型,分别是text、text[]和jsonb。
在模态中,我的代码如下所示:
public function function_insert($data)
{
$result = $this->db->insert('table_name', $data);
}
INSERT INTO "table_name" ("field1", "field2", "field3") VALUES ('1', Array, Array)
我从codeigniter获得以下错误:
Severity: Notice
Message: Array to string conversion
Filename: database/DB_driver.php
Line Number: 1471
Backtrace:
查询结果如下所示:
public function function_insert($data)
{
$result = $this->db->insert('table_name', $data);
}
INSERT INTO "table_name" ("field1", "field2", "field3") VALUES ('1', Array, Array)
我的代码、传递给模型的数据或其他东西中是否存在任何问题。无法将PHP数组直接插入数据库。您必须执行以下示例中的一些技巧 一,。用于将PHP数组插入类型为Array的Postgres列值 二,。用于插入JSON。使用PHP内置函数名json_encode将PHP数组转换为json字符串