PHP mit InterBase (SQL Dialect)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP mit InterBase (SQL Dialect)

    Ich hab da mal ne Frage bezüglich Interbase und PHP.
    Beim InterBase kann man einen SQL Dialect aussuchen(1, 2 und 3).

    Hat dieser SQL Dialect auf mein SQL Statement eine Auswirkung?
    Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

  • #2
    stw..

    http://www.interbase2000.org/faq.htm#q1

    CAT Music Files

    Kommentar


    • #3
      Danke, aber wie wirkt sich das auf den Syntax in PHP aus?

      Ich versuche grad ein ganz normales statement laufen zu lassen, das sieht so aus:

      $sqlstmt = 'SELECT * FROM $table';
      result = ibase_query($conn, $sqlstmt);

      Das Beispiel habe ich aus einer Hilfe. Jedoch bekomme ich folgende Error Message:

      Warning: InterBase: Dynamic SQL Error SQL error code = -104 Token unknown - line 1, char 269 ( in XXX\XXX\functions.php on line 34

      Line 34 ist die Linie, bei der ich den ibase_query ausführe.
      Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

      Kommentar


      • #4
        und was enthält $table?

        CAT Music Files

        Kommentar


        • #5
          $table = "banner_main";

          Das ist das $table das ich benutze
          Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

          Kommentar


          • #6
            result = ibase_query($conn, $sqlstmt); //<-- da fehlt übrigens ein $ am Anfang!

            Also die Query kann eigentlich nicht falsch sein, egal welcher Dialekt.. Aber probier mal ein SELECT feld FROM $table

            EDIT: Außerdem sind die Quotes falsch! Strings in Single-Quotes werden nicht geparst!
            Also entweder so:
            $sqlstmt = "SELECT * FROM $table";

            oder so:
            $sqlstmt = 'SELECT * FROM '.$table;

            CAT Music Files

            Kommentar


            • #7
              Ja, dass war der Fehler auf jedenfall nicht.
              Das mit den single Quotes hatte ich hier her:

              http://www.zend.com/manual/function.ibase-connect.php
              Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

              Kommentar


              • #8
                Klar, aber die benutzen dort auch keine Variablen: 'SELECT * FROM tblname'!
                Mit double-quotes sollte es aber gehen.

                CAT Music Files

                Kommentar


                • #9
                  Ich habe es auch schon ohne Variable, also direkt dem Tabellennamen versucht. Geht auch nicht.
                  Mit den double Qoutes habe ich es auch versucht, habe da das gleiche Problem.

                  Das einzigste was sich geändert hat ist die Fehlermeldung *gg*

                  Warning: InterBase: Dynamic SQL Error SQL error code = -204 Table unknown BANNER_MAIN in XXX\XXX\test.php on line 4

                  Die Tabelle gibt es aber! Aber ja schon Daten eingetragen.
                  Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                  Kommentar


                  • #10
                    Hm, beachte mal Groß- und Kleinschreibung.. Vielleicht liegt's da dran.

                    CAT Music Files

                    Kommentar


                    • #11
                      Jetzt mal ein ganz simples Script so wie ich es aufrufe:

                      <?php
                      include("config.php4");
                      $sqlquery = 'SELECT * FROM banner_main';
                      $getbanner = ibase_query($conn, $sqlquery);

                      if ($getbanner)
                      { echo "Das hat geklappt"; } else { echo "Das hat auch nicht geklappt";}
                      ?>

                      In der config Datei ist die Variable $conn enthalten. Zur Datenbank connecten kann ich.
                      Wie du siehst ist der Tabellenname klein geschrieben, wie auch in der Tabelle selber?

                      Wieso ist der Tabellenname bei der Errormessage dann uppercase?
                      Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                      Kommentar


                      • #12
                        Keine Ahnung, was da nicht stimmt - Das Statement ist auch syntaktisch völlig korrekt nach Interbase6-Standard...

                        CAT Music Files

                        Kommentar


                        • #13
                          So bin ausem Urlaub zurück und habe neuen Mut geschöpft, das Problem ist allerdings immer noch nicht behoben

                          Könnte es an dem InterBase Server selber liegen?
                          Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                          Kommentar


                          • #14
                            Oder muss man noch etwas in der php.ini ändern/ergänzen?
                            Bis jetz lade ich nur die interbase.dll.
                            Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                            Kommentar


                            • #15
                              dat problem hatte ich auch mal.......das liegt daran das deine if anweisung mit dem wert $getbanner nix anfangen kann du musst das erst mit ibase_fetch_row oder ibase_fetch_object umwandeln damit die if anweisung das erkennt.
                              Man muss nicht alles wissen, man muss nur wissen wo es steht.

                              Kommentar

                              Lädt...
                              X