Einspeichern in eine Datenbank nicht mehr möglich

Jojo123456

Neuer Benutzer
Beiträge
2
Hallo zusammen,

leider funktioniert das Einspeichern eines Eintrags in meine Datenbank nicht mehr und weiß mir nicht zu helfen.

Aktuell ist es so, dass die Funktion beim lokalen Arbeiten auf dem localhost sehr wohl funktioniert, jedoch wenn ich sie auf den firmeneigenen Server spiele nicht mehr. Alle anderen Funktionen bspw. die Abfrage der Daten funktionieren tadellos.

Da die Funktionen in dieser PHP-Datei (also überprüfen ob Eingabe schon vorhanden ist, Benutzerüberprüfung) funktionieren bis zum Speichervorgang, bin ich mir sicher dass dort der Fehler liegt. Konkret gibt er nur aus "Der Eintrag wurde nicht gespeichert"

Vielleicht kann mir ja einer helfen, vielen Dank!!

Beste Grüße
Jojo




Code:
<html>
<head>
<link rel="stylesheet" type="text/css" href="steil.css">
</head>
<title>Speichern
</title>


Bundeseinheitliche ID:
<?php
echo $_POST["bildung"];
?>
<br>
<br>
Freifeld:
<?php
echo $_POST["Freiheit"];
?>
<br>
<br>
<br>


<?php


    //Variablen definieren
 
    $datenbank_host = '01.234.567.890';

    $datenbank_user = 'Name';

    $datenbank_passwort = 'Passwort';

    $datenbank_name = 'ssp';

    $Gesamt = $_POST['bildung']; 
    $Freifeld = $_POST['Freiheit'];
 
    // Datenbankverbindung
 
    $link = @mysql_connect($datenbank_host,
            $datenbank_user, $datenbank_passwort);
    if (!$link) {
            die('keine Verbindung möglich: ' .
                mysql_error()); }
             
     $db_selected =
            @mysql_select_db($datenbank_name, $link);
         
    if (!$db_selected) {
            die ('Kann '.$datenbank_name.' nicht
                benutzen : ' . mysql_error());
        }
     
      
     $sql = "SELECT Bund FROM idspeichern WHERE Bund='$Gesamt' and Frei='$Freifeld'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
    if ($count == 1)
    {
    echo "Die ID ist schon vorhanden";
    }
    else {     
     
    // Speichern in Datenbank und ab hier müsste der Fehler liegen
 
    $sql_insert = "INSERT INTO `idspeichern`
            (`Bund`,`Frei`)
            VALUES('$Gesamt','$Freifeld');";
         
      if (@mysql_query($sql_insert, $link) != false) {

            echo 'Der Eintrag wurde gespeichert!';
            $_POST['ges'] = '';
            $_POST['bid'] = '';
        } else {

            echo 'Der Eintrag wurde nicht
                gespeichert!';
        }


}
 
?>

</html>
 
Zuletzt bearbeitet:
Werbung:
Eine Fehlermeldung gibt er ja nicht aus da er ja macht, was er soll (aber nicht, was ich gerne möchte)
Sollte er die Eingabe nicht speichern, gibt er das 'echo' aus.

Code:
    $sql_insert = "INSERT INTO `idspeichern`
            (`Bund`,`Frei`)
            VALUES('$Gesamt','$Freifeld');";
           
      if (@mysql_query($sql_insert, $link) != false) {
  
            echo 'Der Eintrag wurde gespeichert!';
            $_POST['ges'] = '';
            $_POST['bid'] = '';
        } else {

            echo 'Der Eintrag wurde nicht
                gespeichert!';
        }


}
 
Werbung:
Du hast grundlegende Dinge nicht verstanden.


  • ein mysql_query(() - Aufruf kann fehlschlagen. Daher prüft man den Return-Wert. Zeigt dieser einen Fehler an, fragt man diesen ab.
  • IIRC unterdrückst Du mit @ vor der Funktion hier sogar absichtlich die Ausgabe des Fehlers
  • mysql-Funktionen in PHP sind seit Jahren deprecated und in PHP 7 ganz und gar raus
  • Du übernimmst völlig ungeprüft POST-Parameter. SQL-Injection scheint Dir völlig unbekannt zu sein

Mach bitte Deine Hausaufgaben.
 
Zurück
Oben