Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler im Code Datenbank

Einklappen

Neue Werbung 2019

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

  • Fehler im Code Datenbank

    Hallo,

    ich würde gerne Daten mittels php in eine Datenbank schreiben.
    Sollte recht einfach gehen.

    Im ersten Beispiel funktioniert alles und ich kann die Daten in der Datenbank wiederfinden.
    Code:
    <h1>Dateneingabe</h1>
              <form action="index-upload.php" method="post">
              <p>Stadt: <input type="text" name="city" value=""></p>
              <p>Land: <input type="text" name="country" value=""></p>
              <p>Bild: <input type="text" name="pic" value=""></p>
              <p>Text: <input type="text" name="text" value=""></p>
              <p>Datum: <input type="text" name="date" value=""></p>
              <input type="submit"  name="submit" value="abschicken">
              </form>
    
    <?php
                        $city = $_GET['city'];
                        mysql_select_db($con, "web17_db_pictures");
                        mysqli_query($con, "INSERT INTO `content` (city, country, pic, text, date) VALUES ('test', 'Test', 'Test', 'Test', 'Test')");
    
    ?>
    Im zweiten Beispiel macht es dann nichts mehr. Die Daten werden nicht mehr in die Datenbank gespeichert.
    Code:
    <h1>Dateneingabe</h1>
              <form action="index-upload.php" method="post">
              <p>Stadt: <input type="text" name="city" value=""></p>
              <p>Land: <input type="text" name="country" value=""></p>
              <p>Bild: <input type="text" name="pic" value=""></p>
              <p>Text: <input type="text" name="text" value=""></p>
              <p>Datum: <input type="text" name="date" value=""></p>
              <input type="submit"  name="submit" value="abschicken">
              </form>
    
    <?php
                        $city = $_GET['city'];
                        $country = $_GET['country'];
                        $pic = $_GET['pic'];
                        $text = $_GET['text'];
                        $date = $_GET['date'];
                        mysql_select_db($con, "web17_db_pictures");
                        mysqli_query($con, "INSERT INTO `content` (city, country, pic, text, date) VALUES ($city, $country, $pic, $text, $date)");
    
    ?>
    Was mache ich falsch?

    Danke!

  • #2
    Versuch's mal so:
    mysqli_query($con, "INSERT INTO `content` (city, country, pic, text, date) VALUES ('$city', '$country', '$pic', '$text', '$date')");

    Kommentar


    • #3
      escaping ?
      https://www.php.net/manual/de/mysqli...ape-string.php

      Kommentar


      • #4
        Crazynet, es funktioniert schon besser, indem es jetzt eine neue Zeile in der Datenbank eröffnet, jedoch nur leere Zellen erstellt.

        tomBuilder ich weiß leider nichts damit anzufangen, da blutiger Anfänger...

        Kommentar


        • #5
          Vergesst meine letzte Antwort, habe vergessen die Datenbank zu aktualisieren
          Vielen Dank für eure Hilfe!

          Kommentar


          • #6
            1. Mit GET niemals in die Datenbank schreiben. Für Schreibvorgänge sollte POST verwendet werden, weil es sonst unschöne Nebeneffekte geben kann.

            2. Werte niemals direkt in SQL-Code einfügen. Im besten Fall führt das "nur" zu Fehlern. Im schlechtesten Fall bekommt ein Außenstehender vollen Zugriff auf deine Datenbank. Entweder Werte beim Einfügen escapen, oder gleich Prepared Statements verwenden.

            Und ja, das sind Anfängerthemen, die ein Anfänger können sollte.

            Kommentar


            • #7
              Zitat von ps8 Beitrag anzeigen
              Crazynet, es funktioniert schon besser, indem es jetzt eine neue Zeile in der Datenbank eröffnet, jedoch nur leere Zellen erstellt.

              tomBuilder ich weiß leider nichts damit anzufangen, da blutiger Anfänger...
              besonderns als blutiger Anfänger lohnt es sich Begriffe zu Googeln oder links zur Docu zu folgen.

              Kommentar

              Lädt...
              X