Вставить массив в массив Postgres, используя подготовленный оператор PHP - PullRequest
1 голос
/ 26 марта 2020

Я знаю, что были подобные вопросы, но я просто не могу заставить это работать.

У меня есть Postgres база данных типа int[]. Я использую подготовленное заявление, чтобы сделать мою вставку. Я получаю эту ошибку:

" \ n Предупреждение : pg_execute (): запрос не выполнен: ОШИБКА: неверно сформированный массив: литерал: "}" [1, 0, 0, 0] "]" \ nDETAIL: значение массива должно начинаться с "{" или информация о размерах. "

Вот как я делаю свой массив:

$aeidarr = array();
if (isset($_POST['aeid'])){
    $aeid[] = $_POST['aeid'];
    foreach ($aeid as $aevalue){
        array_push($aeidarr, $aevalue);
    }
} else{
    array_push($aeidarr, -1);
}

Вот мое подготовленное утверждение:

$insertentranceoptionsprep = pg_prepare($conn, 'insert_entranceoptions', "insert into entrances_options(uacctid, eid, aeid, eoautodoor) values ($1,$2,$3,$4);");
$insertentranceoptionsex = pg_execute($conn, 'insert_entranceoptions', array($acctid, $eid, $aeidarr, $eoautodoor));

Я уверен, что я делать что-то глупое. Но я был бы признателен за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...