Ergebnis 1 bis 7 von 7

Thema: SQL Abfrage PHP Schemata

  1. #1
    Wolfram ist offline Neuer Benutzer
    Registriert seit
    30.01.2012
    Beiträge
    3

    Standard SQL Abfrage PHP Schemata

    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.

  2. #2
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    525

    Standard

    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?'

  3. #3
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Wolfram Beitrag anzeigen
    Hallo Leute,
    zuerstmal shon im Vorfeld danke für eure Hilfe.
    castorp hat ja schon geantwortet, aber eine Frage sei erlaubt: was für komische Spaltennamen verwendet ihr?

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  4. #4
    Wolfram ist offline Neuer Benutzer
    Registriert seit
    30.01.2012
    Beiträge
    3

    Standard

    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.

  5. #5
    Wolfram ist offline Neuer Benutzer
    Registriert seit
    30.01.2012
    Beiträge
    3

    Standard

    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"';

  6. #6
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Wolfram Beitrag anzeigen
    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"';

    Nun ja, das klingt, als ob da om Design der DB was ned stimmt. Ich ahne da schon die folgenden Fragen. Übrigens: Select * hat nix in produktivem Code zu suchen...

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  7. #7
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    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

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 20.01.2011, 08:22
  2. Frage DDL von Objekten anderer Schemata in gleicher Datenbank verstecken?
    Von Akita im Forum Benutzer- & Rechteverwaltung
    Antworten: 8
    Letzter Beitrag: 21.10.2010, 14:07

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum