PHP Postgres Драйвер 9.2.18 проблема с простым выбором - PullRequest
0 голосов
/ 16 марта 2020

Я никогда не использовал postgres с PHP. Сейчас я пытаюсь просто выбрать представление в Postgres, но я получаю эту ошибку:

An error occurred: Syntax Error in SELECT * FROM 02_s3_ct13t_tariffe

Кажется, что соединение в порядке (если я запускаю SELECT table_name FROM information_schema.tables, оно работает, и я в результатах можно увидеть имя таблицы 02_s3_ct13t_tariffe).

Вместо этого, если я запускаю этот код, я получаю ошибку, упомянутую выше:

$conn_string = "host=xxx.xxx.xxx.xxx port=xxxx dbname=xxxx user=xxxx password=xxxxxxxx";
$db = pg_connect("$conn_string") or die('connection failed');

//$sql = "SELECT table_name FROM information_schema.tables";
$sql = "SELECT * FROM 02_s3_ct13t_tariffe";
$result = pg_query($db, $sql);

if (!$result) {
  $error = pg_last_error($db);
  echo "$error";
  exit;
}

Есть идеи? Как проверить привилегии или правильный синтаксис для доступа к имени таблицы, начинающемуся с цифр?

1 Ответ

0 голосов
/ 16 марта 2020

Заключите вашу таблицу в кавычки (имена таблиц не должны начинаться с цифр):

SELECT * FROM "02_s3_ct13t_tariffe"

Лучше использовать pdo_pqsql вместо.

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