Ankündigung

Einklappen
Keine Ankündigung bisher.

fatal error

Einklappen

Neue Werbung 2019

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

  • fatal error

    Code:
    SELECT
        c.*
    FROM
        (   SELECT
                ROW_NUMBER() OVER(ORDER BY benutzerid) AS RowID,*
            FROM
                tbl_konto
            WHERE
                Name LIKE '%".$strKeyword."%' ) AS c
    WHERE
        c.RowID > $row_start
    AND c.RowID <= $row_end
    kann mir jemand den fehler zeigen? bevor ich hier poste hab ich schon sehr lange gesucht... ich kann ihn nicht finden


    Fehlermeldung:
    Syntax error or access violation: 1064 You have an error in your SQL syntax;

  • #2
    Zitat von mse Beitrag anzeigen
    [CODE]
    kann mir jemand den fehler zeigen? :
    Ist ohne die Datenbank, die Tabellenstruktur und die Variableninhalte zu kennen unmöglich.
    Lass dir den SQL-String ausgeben und teste diesen dann mit einen Datenbanktool.

    Und Variablen sollten niemals unmaskiert in eine SQL-Anweisung eingefügt werden (SQL-Injektion). Das stellt ein hohes Sicherheitsrisiko dar.

    Kommentar


    • #3
      Und Deine Fehlermeldung geht noch weiter, den entscheidenden Teil hast Du abgeschnitten. near deutet i.d.R. immer schon mal in die Richtung, wo der Fehler zu finden ist.
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar


      • #4
        Zitat von mse Beitrag anzeigen
        bevor ich hier poste hab ich schon sehr lange gesucht... ich kann ihn nicht finden
        Wenn etwas nicht funktioniert, vereinfache es. Wenn du z.B. nicht schaffst den Query in deiner Anwendung zum laufen zu bekommen, dann nimm ihn raus und teste ihn getrennt. Damit kannst du schonmal PHP seitige Probleme ausschließen. Ggf. kannst du den Query dann auch weiter zerlegen bis das Problem klar wird.
        Bei der Fehlermeldung fehlt meiner Meinung nach auch aus. Da steht eigentlich auch immer ab wann der Query fehlerhaft ist.

        PS: * kannst du nicht nach anderen Werten selektieren. Entweder die Tabelle mit angegeben oder besser gleich die Spalten.

        Kommentar


        • #5
          Diese Meldung deutet auf MySQL oder MariaDB hin
          Syntax error or access violation: 1064 You have an error in your SQL syntax;
          Aber MySQL kennt kein ROW_NUMBER().. OVER soweit ich weiß...
          SELECT ROW_NUMBER() OVER(ORDER BY benutzerid) AS RowID,*
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            MariaDB (Version ?) und MySQL(ab Version 8 ) unterstützen wohl auch OVER als auch ROW_NUMBER. Daher Meine Frage nach der Datenbank (+Version).

            Kommentar


            • #7
              MySQL 8.0.20 x64 MYSQL Datenbank
              Apache 2.4.43 x64 - PHP 8.0.6 x64


              Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM tbl_konto WHERE Wort LIKE '%%' at line 7 in D....

              hier die gesamte meldung nur der letzte teil weg...

              wobei ich das , und den joker oder stern nicht verstehe was der bedeuten soll. ich kann das gedanklich nicht interpretieren. eventuell kann mir jemand kommentieren was das komma und der stern oder joker (all) zu bedeuten haben.

              Kommentar


              • #8
                Im gezeigten SQL steht "Name", in der gezeigten Fehlermeldung steht "Wort". Also Fehlermeldung und SQL-Code passen nicht zusammen.

                Kommentar


                • #9

                  Zitat von mse Beitrag anzeigen
                  wobei ich das , und den joker oder stern nicht verstehe was der bedeuten soll. ich kann das gedanklich nicht interpretieren. eventuell kann mir jemand kommentieren was das komma und der stern oder joker (all) zu bedeuten haben.
                  Mysql zeigt dir genau den Punkt, ab den der Query für Mysql kein Sinn mehr ergibt.

                  Siehe #4

                  Zitat von erc Beitrag anzeigen
                  PS: * kannst du nicht nach anderen Werten selektieren. Entweder die Tabelle mit angegeben oder besser gleich die Spalten.

                  Kommentar


                  • #10
                    Danke ihr lieben habe den fehler gefunden...

                    Kommentar

                    Lädt...
                    X