所以我试图运行一个查询,将一些值插入到我的 postgres 数据库中,但我遇到了一些问题。对于初学者,当我运行它时:
INSERT INTO DataBin (createdUserId, objectId, objData)
VALUES
('52dcd7c7-d300-4394-9f76-e756237951ce', 'd44279a8-3613-4a3c-9a2a-d74770f58a6e', hstore(ARRAY['f9868417-6e91-4c1b-ab67-bcc9290de085', NOW()::TEXT, '7d1d3e16-8b39-4e80-a068-8ed533377dca', 52.03::TEXT, '2123d903-0030-4cb2-abad-d3a48328be97', 20::TEXT]))
;
该查询似乎工作得很好,但是当尝试执行以下操作时,它给了我一个错误:
Notice: Array to string conversion
$db = new PDO("pgsql:host=localhost;port=5432;dbname=test;user=postgres;password=postgres");
//-- Long ass insert for a databin
$stmt = $db->prepare('INSERT INTO DataBin (createdUserId, objectId, objData) VALUES (?, ?, ?)');
$date = new DateTime();
$hstore = array($time["id"], $date->getTimestamp(), $weight["id"],'52.03', $height["id"],'20');
$stmt->bindParam(1, $user["id"]);
$stmt->bindParam(2, $object["id"]);
$stmt->bindParam(3, $hstore);
$stmt->execute();
我假设我没有正确解析数组以使 postgres HSTORE 工作。任何帮助,将不胜感激。