Ankündigung

Einklappen
Keine Ankündigung bisher.

Insert oder insert into will nicht

Einklappen

Neue Werbung 2019

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

  • Insert oder insert into will nicht

    Hallo zusammen, habe ein kleines Problem, daß mich aber schon seit mehren Tagen aufhält und ich finde absolut keine Lösung
    Daher bitte ich um Hilfe in diesem Forum

    Habe zum testen eine Datenbank mit dem namen 'adresse' angelegt mit nur einer Tabelle 'daten' mit 5 Spalten. Ein Primärschlüssel als int(10) und 4 Textspalten varchar(50). Unter phpMyAdmin habe ich 2 Datensätze angelegt.

    XAMPP öffne ich als Administrator und starte erfolgreich Apache und MySQL.

    Auf einer Testseite habe ich mit php eine Verbindung zur Datenbank erstellt und kann auch problemlos zum Test die 2 Datensätze formlos aus der Datenbank auslesen.

    Mein Problem ist, ich kann keine neuen Datensätze mit 'insert' oder 'insert into'
    in die Datenbank schreiben. Ich habe schon alle möglichen Varianten versucht, klappt aber nicht

    Im folgenden kurz der Code:

    PHP-Code:
    <?php

        
    if (isset($_POST["gesendet"]))
        {
            
    //###########


            /*
            $con = mysqli_connect("localhost","root");
            mysqli_select_db($con, "adresse");
            $res = mysqli_query($con, "select * from daten");
            $num = mysqli_num_rows($res);
            echo "$num Datens&auml;tze gefunden<br/>";
            while ($dsatz = mysqli_fetch_assoc($res))
            {
                echo $dsatz["key"] . ", "
                    .$dsatz["Name"] . ", "
                    .$dsatz["Strasse"] . ", "
                    .$dsatz["Ort"] . ", "
                    .$dsatz["Vorname"];
            }
            mysqli_close($con);
            */
            //###########


            
    error_reporting(E_ALL);

            
    $con mysqli_connect("localhost","root");
            
    mysqli_select_db($con"adresse");
            
    $sql "insert daten (key, Name, Strasse, Ort, Vorname) values ('3', 'Peter', 'Heideweg', 'Berlin', 'Hans')";
            
    mysqli_query($con$sql);
            
    mysqli_close($con);
         }

     
    ?>
    Im ausdokumentierten Bereich befindet sich der funktionierende Programmcode um darzustellen, daß es wohl nicht an der Verbindung selbst scheitert.
    Warum klappt aber das 'insert' oder auch 'insert into' nicht
    error_reporting gibt auch nix zurück.

  • #2
    Da fehlt ein INTO... aber mal ehrlich, wieso der Thread, sowas sieht man selbst als Anfänger, wenn man entsprechende Tutorials durchliest.
    Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

    Kommentar


    • #3
      Hi,

      schau dir doch mal mysqli_query() an im Handbuch:
      http://php.net/manual/de/mysqli.query.php
      Returns FALSE on failure.
      Na dann bau das doch mal ein:
      PHP-Code:
      <?php
      $result 
      mysqli_query($con$sql);
      if (
      $result === false) {
        throw new 
      Exception(mysqli_error($con));
      }
      ?>
      Zusätzlich kannst du noch mit mysqli_affected_rows() prüfen, wieviel Daten eingetragen wurden.

      Gruß und gutes Gelingen
      "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

      Kommentar


      • #4
        Danke für die sehr schnellen Antworten.
        Ich hatte leider gerade heute keine Zeit mehr an dieser Geschichte weiter zu arbeiten.
        @Geromel
        Ich habe natürlich auch die Variante mit 'insert into' ausprobiert. Habe ich ja sowohl in der Beschreibung als auch im Threadnamen schon geschrieben.
        Leider war das auch ohne Erfolg. Die Variante ohne 'into' habe ich aus dem Buch "Einstieg in PHP5.5 und MySQL 5.6 von Thomas Theis. Da SQL kein Fremdwort für mikch ist, habe ich mich auch gewundert, aber der Autor nutzt diese Variante öfters.
        @Chriz
        Danke für den Tip, werde das Morgen früh umgehend testen.

        Kommentar


        • #5
          Siehe http://dev.mysql.com/doc/refman/5.1/...ved-words.html
          Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

          Kommentar


          • #6
            @uha
            Danke für diesen Tip
            Das war die Lösung für mein Problem, denn der Spaltenname 'key' war das Problem beim 'insert into'.
            Bin total Happy, das Ganze hat mich ein paar Tage aufgehalten und habe bestimmt 20 verschiedene Codierungen ausprobiert.
            super, nochmal Danke
            PS: Habe auch 'insert' ohne das folgende Schlüsselwort 'into' ausprobiert.
            Funktioniert ebenfalls.

            Kommentar

            Lädt...
            X