Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Kein Eintrag durch MySQL - keine Fehlermeldung!

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Kein Eintrag durch MySQL - keine Fehlermeldung!

    Hallo zusammen!

    Dies ist mein erster Post und ich möchte die Community direkt mit meiner ersten, für mich unlösbaren, Frage überfallen.

    Und zwar geht es um die Benutzung von MySQL INSERT in PHP.

    Ich habe folgende Anweisung in meiner PHP-Datei:
    PHP-Code:
    $eintragen2 mysql_query("INSERT INTO Bilder (AuthorID, Titel, Ort,  Beschreibung, AlbumID, BilderURL) VALUES ('$_SESSION[schillerschulehannovernet_id_1]', '$_POST[titel2]', '$_POST[ort2]', '$_POST[beschreibung2]', '$_POST[album]', $image_file_upload)"); 
    Das Problem ist, dass nichts in meiner Datenbank eingetragen wird.

    Aufgerufen wird das Ganze mit dem Absenden eines Formulares.
    Dass es aufgerufen wird weiß ich daher, dass eine Datei (in meinem Fall ein Bild) vorher hochgeladen wird.
    Von diesem soll also durch PHP der Pfad ($image_file_upload) und andere Daten in meiner Datenbank gespeichert werden.

    Die Verbindung zur Datenbank wird am Anfang jeder Seite aufgebaut, da diese Verbindung jedes Mal gebraucht wird.

    In der gleichen Datei, in der auch oben genanntes Kommando steht, wird (beim Versenden eines anderen Formulares) auch etwas in die Datenbank eingetragen, was auch funktioniert:

    PHP-Code:
    $eintragen mysql_query("INSERT INTO Alben (AuthorID, Titel, Ort,  Beschreibung) VALUES ('$_SESSION[schillerschulehannovernet_id_1]', '$_POST[titel]', '$_POST[ort]', '$_POST[beschreibung]')"); 
    Wie gesagt bekomme ich keine Fehlermeldungen!

    Kann mir vielleicht jemand Anhaltspunkte geben, wie dieses Problem zu lösen ist?

    (Achja: mein vServer hat PHP Version 5)

    Mit freundlichen Grüßen,
    Realist


  • #2
    Hallo,

    bitte benutze PHP: mysql_error - Manual zur Fehlersuche!

    Dass man in den Codeboxen hier im Forum (weit) horizontal scrollen muss, zeigt dir, dass du Gruselcode produziert hast. Den Querystring kann du besser in einer Variablen zwischenspeichern, hübsch einrücken und dann erst der Funktion mysql_query übergeben.

    Gruß
    http://hallophp.de

    Kommentar


    • #3
      Danke für die schnelle Antwort!

      Ich habe die Funktion unterhalb des Kommandos mit
      PHP-Code:
      echo mysql_error($eintragen2); 
      eingetragen.

      Ich bekomme allerdings nun einen Fehler von der FUnktion selbst ausgeworfen:
      Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /var/www/vhosts/*/photos.a.php on line 73
      Da habe ich mich wohl irgendwie verzettelt.
      Aber normalerweise werden mir Fehler immer ausgegeben.

      Also, bei Problemen mit der Verbindung oder dem Syntax.

      Ich bin wirklich vollends ratlos.


      Grüße.

      Kommentar


      • #4
        Schau dir bitte noch mal die Beispiele im Handbuch zur Verwendung von mysql_error() an!
        http://hallophp.de

        Kommentar


        • #5
          So, ich habe mir die Seite nun nochmal angeguckt und bin zu dem Entschluss gekommen mir die Seiten in Zukunft tatsächlich immer bis zum Schluss durchzulesen.

          So, es wird tatsächlich etwas ausgegeben.
          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 ')' at line 1
          In dieser Linie 1 ist, weder in meiner index.php, noch in der inkludierten Datei (in der die MySQL-Aktion liegt), nichts, was mit MySQL zutun hat.

          Und ich finde diese ganze Sache allgemein sehr kurios, da die, darüberliegende Aktion (in der selben Datei) keine Fehler ausgibt und funktioniert:
          $eintragen = mysql_query("INSERT INTO Alben (AuthorID, Titel, Ort, Beschreibung) VALUES ('$_SESSION[schillerschulehannovernet_id_1]', '$_POST[titel]', '$_POST[ort]', '$_POST[beschreibung]')");
          Es ist wirklich absolut unverständlich und nicht nachzuvollziehen...

          Grüße

          Kommentar


          • #6
            Zitat von Realist Beitrag anzeigen
            In dieser Linie 1 ist, weder in meiner index.php, noch in der inkludierten Datei (in der die MySQL-Aktion liegt), nichts, was mit MySQL zutun hat.
            *seufz*

            Das beziehst sich selbstverständlich auf die erste Zeile des SQL-Statements, dass du an die Datenbank geschickt hast.

            Es ist wirklich absolut unverständlich und nicht nachzuvollziehen...
            Lass dir die generierte Query zur Kontrolle ausgeben.

            Kommentar


            • #7
              Dir fehlen die Hochkommatas beim letzten value.
              "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

              Kommentar


              • #8
                Tja, bei Deiner Monster-Query wird leider jeder Fehler in line 1 sein.
                http://php.de/wiki-php/index.php/Debugging:SQL
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  @Destruction: Danke, das war die Rettung. Da war ich blinder als ein Fisch an Land.

                  An die Anderen:
                  Vielen Dank für eure Hilfe.
                  Was ich daraus gelernt habe:
                  Querys "aufteilen" und somit übersichtlicher machen, immer die Fehler nach einem Kommando oder einer Abfrage ausgeben lassen und:
                  Die Augen aufmachen.


                  Danke euch.

                  Werde die Community mal weiterempfehlen.

                  Grüße.

                  Kommentar

                  Lädt...
                  X