Datenbank defekt

  • Hallo Leute, ich habe auf meinem Rechner eine normale Datenbank, alles ist gleich eingestellt und es wurde nichts geändert.
    Jetzt habe ich ein Problem, wenn ich die Datenbank + Homepage auf meinen vServer lade, kann man sich einfach nicht mehr registrieren.
    Ich habe natürlich versucht es selbst zu beheben, bin zum Entschluss gekommen, dass die Datenbank defekt sein muss, oder zumindest die users Tabelle.

    Beim Registrieren wird folgende MySQL Query ausgeführt:

    PHP: register.php
    Die ganzen Werte liste ich jetzt hier nicht auf, sie beinhalten keine Fehler.
    
    
    $eintrag = "INSERT INTO users (username, password, mail, gender, account_created, ip_reg, birth) VALUES ('$user', '$pw', '$email', '$gender', '$timestamp', '". $_SERVER['REMOTE_ADDR'] ."','$bday')";
    
    $eintragen = mysql_query($eintrag);

    Ich habe anstelle von der Tabelle users eine weitere Tabelle erstellt mit dem Namen login, und habe nur den usernamen in die Tabelle einfügen lassen, und es hat funktioniert.
    Meine Frage: Wieso kann dieser INSERT nicht ausgeführt werden, ich habe rein gar nichts verändert an der Homepage sowie an der Datenbank.

    Ich hoffe einer unter euch versteht mein Problem und erklärt sich bereit mit zu helfen.

    Mit freundlichen Grüßen.

    PHP
    if(!$eintrag) {
      echo mysql_error($eintrag);
    }
  • Soll ich das etwa direkt nach der Query einfügen? Denn so habe ich es jetzt und es zeigt keinerlei Fehler an

    haste auch

    PHP
    error_reporting(E_ALL);
    ini_set('display_errors', true);

    stehen? Ahja, mysql_* ist schon veraltet ^^ benutze mysqli_* oder pdo

  • haste auch

    PHP
    error_reporting(E_ALL);
    ini_set('display_errors', true);

    stehen? Ahja, mysql_* ist schon veraltet ^^ benutze mysqli_* oder pdo

    Ich habe es jetzt so hingeschrieben, und es werden auch 2 bis 3 Fehler angezeigt, jedoch hat das ganze nichts mit meinem Problem zutun glaube ich. Ich habe eben aus mysql_connect - mysqli_connect gemacht, trotzdem wird diese Query nicht ausgeführt. Ich weiß einfach nicht woran es liegt.

  • PHP
    <?php 
    
    
    mysql_query('INSERT INTO users (username, password, mail, gender, account_created, ip_reg, birth) VALUES (' . $user . ', ' . $pw . ', ' . $email . ', ' . $gender . ', ' . $timestamp . ', ' . $_SERVER['REMOTE_ADDR'] . ', ' . $bday . ')');

    8 Mal editiert, zuletzt von Skatch (9. August 2015 um 11:50)

  • PHP
    <?php 
    
    
    mysql_query('INSERT INTO users (username, password, mail, gender, account_created, ip_reg, birth) VALUES (' . $user . ', ' . $pw . ', ' . $email . ', ' . $gender . ', ' . $timestamp . ', ' . $_SERVER['REMOTE_ADDR'] . ', ' . $bday . ')');

    Leider auch dieser Vorschlag funktioniert nicht. Dieses Problem hatte ich auf meinem Rechner nicht, es ging und es geht immer noch alles ohne Fehler, nur als ich alles auf den vServer kopiert habe, funktioniert die Query einfach nicht. Liegt es vielleicht an MySQL? Oder kann man keine weiteren Werte mehr in die Tabelle einfügen? Gibt es dafür einen Regler?

  • <?phpmysql_connect("ip:port","username","passwort")or die(mysql_error());mysql_select_db("datenbankname");

    mysql_query("INSERT INTO users (username, password, mail, gender, account_created, ip_reg, birth) VALUES ('".$user."', '".$pw."', '".$email."', '".$gender."', '".$timestamp."', '". $_SERVER['REMOTE_ADDR'] ."','".$bday."')")or die(mysql_error());

    ?>

    so bekommst alle fehlermeldungen die du bekommen kannst xd

  • Warum machst du im Query Punkte? Bei " kannst du die Variablen direkt schreiben.

  • meinst du..?

    versuch mach

    $var1 = "h";
    $var2 = "i";

    echo $var1 $var2;

    mal gucken ob du dir immernoch so sicher bist das man keine punkte braucht xD

    Ich meine das so:

    Code
    $var = 'Wetter';
    
    
    echo "Heute ist das $var schön";

    Wenn das Variable innerhalb des " ist muss man keine Punkte nehemen.

  • das ist richtig aber ich finde es persönlich übersichtlicher den string zu unterbrechen und ne var hinzuzufügen als in nen string direkt ne var einzufügen. Ausserdem ists mit dem alten mysql_* nicht escaped was man per fubktionsaufruf nach holen sollte

  • Könntest du noch nennen woran es lag? Wäre sehr hilfreich :S

    Ich habe in der Datenbank keinen Defaulth Wert angegeben, und somit konnte die Query nicht ausgeführt werden da ja sonst einige Werte fehlen würden. Gut dass ich den Fehler entdeckt habe, jedoch habe ich selbst nicht verstanden wieso es auf meinem Computer ging, und auf dem vServer nicht. Die Datenbank wurde ja nicht verändert, naja trotzdem Danke an alle.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!