Spaltennamen mit Sonderzeichen müssen in doppelte Anführungszeichen, nicht einfache.
Code:SELECT * FROM public."ID: 127088776 CH: 0001 Messdaten"
Hallo Leute,
zuerstmal shon im Vorfeld danke für eure Hilfe.
Ich Raffs einfach nicht vielleicht bin ich einfach auch nur zu dumm!
Zur Sache:
Wir zeichnen Daten auf ( Messdaten) das läuft!
Wir können sämliche Abfrage innerhalb von PgAdminIII machen. Alle funktionieren.
Abfragen von den standard Tabellen geht auch über PHP.
Was nicht geht sind Abfragen von Schematas. Das haut irgendwie nicht hin. Die Tabellennamen von den Schemats die ich Abfragen muß sind vorgegeben und enthalten so Schweinereien wie Leerzeichen , : und so Sachen.
Versucht habe ich schon:
Hochkommas, Anführungszeichen, Unterstriche, verschiedene Abfragen, kontrolliert der Suchanfrage in postgresql.conf. Kiloweise Webseiten durchgelesen. Das Forum Hier durchsucht.......
Nun Frag ich mal eich einfach ob Ihr sowas schon mal gesehn habt. Und mir vielleicht den Tip geben könnt damit ich weiterkomme.
Hier der Code
<html>
<head><basefont face="Arial"></head>
<body>
<?php
// Connecting, selecting database
$dbconn = pg_connect("host=172.25.25.6 dbname=EASYControlDB user=ECtrl_GUI password=ECtrl_GUI")
or die('Could not connect: ' . pg_last_error());
$dbname = pg_dbname();
// Name Datenbank
echo pg_dbname();
//
// Eine SQL-Abfrge ausführen
//"SELECT* FROM pg_ts_parser";
$query = "SELECT * FROM public.'ID: 127088776 CH: 0001 Messdaten'";
$result = pg_query($dbconn, $query)or die("Error in query: $query." . pg_last_error($dbconn));
if (!$result) {
echo "Ein Fehler ist aufgetreten.\n";
exit;
}
//Tabelle
while ($row = pg_fetch_row($result)) {
echo "relid: $row[0]","schemaname: $row[1]";
echo "<br />\n";
}
//Closing connection
pg_close($dbconn);
?>
</body>
</html>
und Hier die Fehlermeldung
EASYControlDB
Warning: pg_query() [function.pg-query]: Query failed: FEHLER: Syntaxfehler bei »'ID: 127088776 CH: 0001 Messdaten'« LINE 1: SELECT * FROM public.'ID: 127088776 CH: 0001 Messdaten' ^ in C:\xampp\htdocs\datenbank\index.php on line 18
Error in query: SELECT * FROM public.'ID: 127088776 CH: 0001 Messdaten'.FEHLER: Syntaxfehler bei »'ID: 127088776 CH: 0001 Messdaten'« LINE 1: SELECT * FROM public.'ID: 127088776 CH: 0001 Messdaten' ^
Danke schon mal für eure Hilfe.
Spaltennamen mit Sonderzeichen müssen in doppelte Anführungszeichen, nicht einfache.
Code:SELECT * FROM public."ID: 127088776 CH: 0001 Messdaten"
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Das ging ja mal richtig schnell,
hatte ich schon probiert. Trozdem für euch nochmals genau so gemacht.
Nun die Meldung:
Parse error: syntax error, unexpected T_STRING in
C:\xampp\htdocs\datenbank\index.php on line 17
Die Tabellennamen sind vorgegeben vom Messprogramm. Warum die so heissen? Der Entwickler hat sich sicher bei was gedacht.
gruß Wolfram .... mit dem immer noch exestierenden Problem.
So nun habe ich die Lösung!
Das mit den Anfürungszeichen hatte ich ja schon probiert. Wie gesagt .... doch nun habe ich Hochkommas für die gesamte Abfrage benutzt und siehe da es läuft!
Dake nochmals
Gruß Wolfram
$query = 'SELECT * FROM "ID: 126891029 CH: 0001 Messdaten"';
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Außerdem ist das ein PHP Fehler und kein SQL Fehler.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen