postgresql 9. обновление не работает - PullRequest
2 голосов
/ 29 июня 2011

Я использую PostgreSQL 9. При попытке сделать это обновление таблица строк не обновляется.

$cmd = "UPDATE table1 SET field1 = '$value1'  WHERE key_field = '$key_value'; ";

table1 имеет привилегии для PUBLIC для INSERT и UPDATE.

При использованииSQL-консоль pgAdmin III отлично справляется со своей работой.

Ответы [ 2 ]

2 голосов
/ 29 июня 2011
  1. Не используйте синтаксический анализ (или конкатенацию строк) для построения запросов SQL;

  2. Что значит «с помощью консоли PgAdminIII sql это отлично справляется»имею в виду?Вы вставили тот же запрос в pgAdmin3, и он работал?Я очень сомневаюсь, что pgAdmin3 понимает PHP и, как следствие, выполняет разбор переменных в стиле PHP.Если это был не совсем тот же запрос (скорее всего, это был тот, в котором переменные PHP были заменены литералами), какой запрос вы проверяли в pgAdmin3?

  3. Скорее всего, причиной являетсянеэффективно то, что нет строк, удовлетворяющих вашему предложению WHERE.

0 голосов
/ 29 июня 2011

$ cmd = "ОБНОВЛЕНИЕ table1 SET field1 = '$ value1' WHERE key_field = '$ key_value'";

Теперь попробуйте добавить ;

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