обновление postgres через php - PullRequest
       10

обновление postgres через php

0 голосов
/ 01 октября 2009

Я новичок в php и postgres. Я искал ответ по всей сети, но не радости! У меня есть таблица postgres, которая называется workorders. У него есть первичный ключ (идент.) Я пытаюсь обновить его, используя скрипт / программу php. По сути, это номер рабочего заказа. Я написал скрипт php, в котором я набираю номер рабочего заказа, отправляю его в другой файл php, который подключается к базе данных, находит совпадающий идентификатор и обновляет его, добавляя «paid» в столбец с названием paid. Я заставил его работать, используя INSERT, но он не позволяет дублировать ключи, поэтому я пытаюсь использовать обновление. Когда я это делаю, он говорит "неожиданный T_CONSTANT_ENCAPSED_STRING"

Помощь будет принята с благодарностью.

<?php
include('adodb5/adodb.inc.php');

$DB = &ADONewConnection('postgres');
$DB->PConnect('host=localhost port=5432 dbname=test user=postgres password=secret');

if (!$DB) {
  die("Error in connection: " . pg_last_error());
}

$arr = array( array('paid',$_POST['$invoice']), );
$ok = $DB->Execute('insert into workorders (paid, ident) values (?,?)',$arr);

if (!$ok) {
  die("Invoice not posted. " . pg_last_error ());
}

?>

Если я использую это, я могу вставить в свою базу данных. Если я заменяю INSERT на UPDATE или pg_update, я получаю ошибки.

1 Ответ

0 голосов
/ 01 октября 2009

Теперь видел ваш код, который выглядит нормально.

T_CONSTANT_ENCAPSED_STRING часто является результатом отсутствия экранирующих кавычек при использовании в строках. Но я не вижу этого здесь. Вы можете опубликовать пример, который не работает?

include('adodb5/adodb.inc.php');

$DB = &ADONewConnection('postgres');
$DB->PConnect('host=localhost port=5432 dbname=test user=postgres password=secret');
if (!$DB) {
    die("Error in connection: " . pg_last_error());
}

$arr = array( array('paid',$_POST['$invoice']), );
$ok = $DB->Execute('insert into workorders (paid, ident) values (?,?)',$arr);
if (!$ok) {
    die("Invoice not posted. " . pg_last_error ());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...