-
Comportement de pg_query
Bonjour,
je débute avec PostgreSQL/PHP mais je connais assez bien MySQL. Donc voici mon problème:
cette requête pourtant très simple:
$r_query = "select CLI_code, CLI_nom from clients";
$r_result = pg_query($r_query);
ne fonctionne pas! Il me répond que le champ CLI_code n'existe pas.
Mais celle-ci fonctionne :
$r_query = "select * from clients";
$r_result = pg_query($r_query);
Pourquoi?
Merci de votre aide. :pc:
-
En général c'est dû au fait que la colonne a été créée en spécifiant que son nom est sensible à la casse (=aux différences entre majuscules et minuscules), et qu'ensuite elle est référencée dans un contexte insensible à la casse.
Par exemple si je fais
Code:
CREATE TABLE test("CLI_code" integer);
et ensuite
Code:
SELECT CLI_code FROM test;
ça provoque l'erreur column "cli_code" does not exist
il faudrait faire
Code:
SELECT "CLI_code" FROM test;
Personnellement ma suggestion est de ne mettre aucun guillemet à la création car ça complique la vie par la suite pour un intérêt réel souvent inexistant. Surtout que dans la plupart des langages dont PHP, le guillemet est déjà utilisé pour autre chose.
-
Merci!
et oui, tu as vu juste, c'est une question de guillemets!
merci pour ton aide rapide. :ccool: