Fehler beim schreiben in Datenbank!

  • Hallo,
    mein Problem ist es,
    das ich mit diesem Skript eigentlich Daten in eine Datenbank schreiben sollte.
    Dies macht es aber nicht! Ich hab euch den Code unten eingefügt. Bitte werft mal einen Blick drauf und vllt könnte ihr mir dann weiterhelfen.
    MfG
    Max


    <?php include("Verbindung.inc.php");?>
    <?php include("auswahlMenue.html");?>

    <h3>Neue Bestellung</h3><br><br>

    <html>
    <head>
    <title>Neue Bestellungen anlegen</title>
    </head>
    </html>

    <?php
    error_reporting(0);
    $KNr = $_POST['optKunden']; // aus Combobox ausgewählte Kundennummer

    if (!isset($_POST['txtBDatum']))
    //Systemdatum als Vorgabe anzeigen
    $BDatum = date("d-m-Y");
    else
    //Geändertes Datum verwenden
    $BDatum = $_POST['txtBDatum'];

    if (isset($_POST['btnAdd']))
    {
    //Query-String zusammenbauen


    $query = "INSERT INTO Bestellungen(K_KNr, B_BDatum,) VALUES('";
    $query .= $KNr."','";
    $query .= $BDatum."')";

    //Query an Datenbank senden
    $Result = mysql_query($query);
    // Letzte durch auto_increment vergebene ID ermitteln
    $BNr = mysql_insert_id($BNr);
    }
    ?>

    <form action="neuBestellung.php" method="POST">

    <!-- Dynamische Erzeugung der Combobox_Inhalte für die Kundenauswahl -->
    Kunde:<br>
    <select name="optKunden" size="1">
    <?php
    $Result = mysql_query("SELECT K_KNr, K_KName FROM Kunden");
    while ($Data = mysql_fetch_assoc($Result))
    {
    if ($Data['K_KNr'] == $KNr)
    echo "<option selected value='".$Data['K_KNr']."'>".$Data['K_KNr']."----".$Data['K_KName'];
    else
    echo "<option value='".$Data['K_KNr']."'>".$Data['K_KNr']."----".$Data['K_KName'];

    }
    ?>
    </select>
    <!-- Ende Combobox -->

    <br><br>
    Bestellnummer (wird automatisch erzeugt) <br>
    <input type="text" readonly name="txtBNr" size="5" value="<?php echo $BNr;?>">
    <br><br>Datum:<br>
    <input type="text" name="txtBDatum" size="10" value="<?php echo $BDatum;?>">
    <br><br>
    <input type="submit" name="btnAdd" value="Hinzuf&uuml;gen">
    </form>

  • PHP
    $Result = mysql_query($query)
       or die ("MySQL-Error: " . mysql_error() . "<br>$query");


    Und unbedingt in der Doku nachsehen: mysql_real_escape_string

  • Also error_reporting(0) ist nie eine gute Idee, wenn man einen Fehler im Script hat ;)
    Setz das mal lieber auf E_ALL.

    Was tut es denn (nicht)?
    Schreibt es einfach nicht in die Datenbank? Bircht es ab? Etc.?

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Wenn ich die Daten dann eingegeben habe, die für die Bestellung wichtig sind und diese dann an die Datenbank weiterschicke, werden diese dann nicht in der Datenbank eingetragen!

  • Weil vermutlich das Insert in die Hose geht, deshalb mysql_error wie oben beschrieben einbauen.

    Außerdem ist dein HTML-Code Schrott. Du hast kein Body und den HTML-Tag schließt du zu früh.

    Einmal editiert, zuletzt von Bandit (19. Dezember 2011 um 13:52)