tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
Like Tree2Danke
ERLEDIGT
JA
ANTWORTEN
23
ZUGRIFFE
597
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    Hallo Gemeinde,

    Ich habe ein meiner Insert abfrage ein kleines Problem, da ich die eingegebenen Userdaten in 2 verschiedene Tabellen meiner mysql_db eintragen möchte.

    Der auto_incriment wert namens id aus der ersten Tabelle soll die User-id werden und müsste mir sofort zurückgeliefert werden um in der nächsten Tabelle als Userid verwendet werden zu können.

    Ich habe gegoogelt und erfahren das es theoretisch mit mysql_insert_id() möglich wäre.

    Mein ergebniss ist folgendes:

    PHP-Code:
    $log_data mysql_query("INSERT 
                                    INTO 
                                        ow_login     
                                        (username, email, passwort, confirmcode, ip) 
                                        
                                        VALUES 
                                        
                                        ('
    $username', '$email, '$passwort, '$confirmcode, '$ip)");
    $last_id mysql_insert_id($log_data);

    $pro_data mysql_query("INSERT 
                                    INTO 
                                        ow_user_data     
                                        (userid, vorname, nachname, geb_tag, geb_mon, geb_jahr) 
                                        
                                        VALUES 
                                        
                                        ('
    $last_id', '$vorname', '$nachname, '$geb_tag', '$geb_mon', '$geb_jahr')"); 
    Als Rückwert erhalte ich immer den Wert 0.

    Ich nehme an das ich mysql_insert_id() falsch verwende und bitte um eine kurze Hilfestellung.

    mfg
    Geändert von Godstyle (24.01.12 um 14:14 Uhr)
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Ist eigentlich schon richtig.
    Schreibt das erste INSERT auch wirklich etwas in die DB? Und ist das AUTO_INCREMENT-Feld wirklich in der ersten Tabelle?
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    Ja, die erste db wird ausgefüllt und auch die 2te db doch als Userid erhalte ich grundsätzlich 0 als wert
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    mach mal ein var_dump() auf $last_id um zu schauen was PHP da hat.

    Dann solltest du mal das 2te Insert-SQL testen:
    [PHP] [MySQL] Debug Queries
    Poste das asugegebene SQL mal hier.

    Und zuguter letzt. Eine ID ist eine Zahl. Dann behandle sie auch wie eine Zahl. Eine Zahl ist in einem SQL nie in Anführungszeichen.
    Geändert von Yaslaw (24.01.12 um 16:00 Uhr) Grund: Der Link auf die Lösung hervorgehoben
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    So, nach ein Paar eigen versuchen habe ich festgestellt das das Problem nicht das einzige ist was verursacht wird.

    error_reporting(E_ALL);
    ini_set('display_errors', '1');

    zeigt mir zwar keinerleig hinweise oder fehler an, denoch werden auch andere Daten nicht geprüft, zumindest wird mir kein Hinweis gegeben. Werde wohl noch eine ganze weile länger dran sitzen.

    Vielen dank für den ver_dump hinweis werde dem nachgehen, zunächst jedoch sollte ich versuchen ein Problem in den griff zu bekommen das bereits vorher im Script verursacht wird.

    lg
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  6. #6
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Lass dir, wie im Tutorial beschrieben, die SQLs ausgeben und teste sie mit phpMyAdmin oder HeidiSQL.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  7. #7
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    Das habe ich getan, laut diesem Weg sollte er eigentlich keine Daten eintragen können da das script bereits vorher durch mir noch nicht ganz klare gründe unterbrochen wird. Wenn du kurz zeit hast kann ich dir das im ganzen mal posten, habe noch keinen wirklichen ansatzpunkt für den Fehler ausgemacht.
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  8. #8
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Poste mal diene SQLs. Und ggf Fehlermeldungen
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  9. #9
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    Fehlermeldungen keine, das ist ja das problem und var_dum liefert mir derzeit auch kein ergebniss zurück habe es eben versucht zu testen.

    Das Script do die beiden Insert sich befinden wird vorzeitig unterbrochen bei der Validierung der User eingaben, wie es denoch zu einträgen in der DB kommen kann ist mir schleierhaft. Auch der Grund bzw. die Stelle wo es unterbrochen wird ist noch nicht klar da Eine Rückgabe des eingabefehlers nicht erfolgt.

    Wie gesagt ich stehe grade noch vor einem Rätsel was das script macht und wo es die Fehler verursacht.

    Formular für User eingaben:

    PHP-Code:
    <form action="" method="post" name="add_new_user">
    <table width="600">
    <tr>
    <td colspan="3" style="padding-left:200px;">Registrieren:</td>
    </tr>
    <tr>
    <td width="200">&nbsp;</td>
    <td colspan="2" style="padding-left:0px;"><hr style="color:#B8C8DC0; width:400px;" /></td>
    </tr><?php
    if(isset($err_msg) &&  !empty($err_msg)) { ?>
    <td width="200">&nbsp;</td>
    <td colspan="2" style="padding-left:0px;">&nbsp;</td>
    </tr>
    <tr><td align="left">&nbsp;</td><td colspan="2" align="left"><font color="#FF0000"><?php echo $err_msg?></font></td></tr>
    <td width="200">&nbsp;</td>
    <td colspan="2" style="padding-left:0px;">&nbsp;</td>
    </tr>
    <?php ?>
    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">Vorname:</td><td width="250"><input type="text" style="height:38px; width:248px; font-size:20px; color:#B8C8DC;" name="vorname" maxlength="30" /></td></tr>
    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">Nachname:</td><td width="250"><input type="text" style="height:38px; width:248px; font-size:20px; color:#B8C8DC;" name="nachname" maxlength="30" /></td></tr>
    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">Username:</td><td width="250"><input type="text" style="height:38px; width:248px; font-size:20px; color:#B8C8DC;" name="username" maxlength="20" /></td></tr>
    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">e-Mail:</td><td width="250"><input type="text" style="height:38px; width:248px; font-size:20px; color:#B8C8DC;" name="email[]"  maxlength="50" /></td></tr>
    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">e-Mail<br /> Wiederholen:</td><td width="250"><input type="text" style="height:38px; width:248px; font-size:20px; color:#B8C8DC;" name="email[]" maxlength="50" /></td></tr>
    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">Passwort:</td><td width="250"><input type="password" style="height:38px; width:248px; font-size:20px; color:#B8C8DC;" name="passwort[]" /></td></tr>
    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">Passwort<br />wiederholen:</td><td width="250"><input type="password" style="height:38px; width:248px; font-size:20px; color:#B8C8DC;" name="passwort[]" /></td></tr>
    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">Geschlecht:</td><td width="250"><select style="height:30px; width:248px; font-size:20px; color:#B8C8DC;" name="sex"><option value="0">------------</option><option value="m&auml;nnlich">m&auml;nnlich</option><option value="weiblich">weiblich</option></select></td></tr>




    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">Geburtsdatum:</td><td width="250">
    <select style="height:30px; font-size:18px; color:#B8C8DC;" name="geb_tag">
    <option>    1    </option>
    <option>    2    </option>
    <option>    3    </option>
    <option>    4    </option>
    <option>    5    </option>
    <option>    6    </option>
    <option>    7    </option>
    <option>    8    </option>
    <option>    9    </option>
    <option>    10    </option>
    <option>    11    </option>
    <option>    12    </option>
    <option>    13    </option>
    <option>    14    </option>
    <option>    15    </option>
    <option>    16    </option>
    <option>    17    </option>
    <option>    18    </option>
    <option>    19    </option>
    <option>    20    </option>
    <option>    21    </option>
    <option>    22    </option>
    <option>    23    </option>
    <option>    24    </option>
    <option>    25    </option>
    <option>    26    </option>
    <option>    27    </option>
    <option>    28    </option>
    <option>    29    </option>
    <option>    30    </option>
    <option>    31    </option>
    </select>
    <select style="height:30px; font-size:18px; color:#B8C8DC;" name="geb_mon">
    <option value="1.">    Januar    </option>
    <option value="2.">    Februar    </option>
    <option value="3.">    März    </option>
    <option value="4.">    April    </option>
    <option value="5.">    Mai    </option>
    <option value="6.">    Juni    </option>
    <option value="7.">    Juli    </option>
    <option value="8.">    August    </option>
    <option value="9.">    September    </option>
    <option value="10.">    Oktober    </option>
    <option value="11.">    November    </option>
    <option value="12.">    Dezember    </option>
    </select>
    <select style="height:30px; font-size:18px; color:#B8C8DC;" name="geb_jahr">
    <option>    1900    </option>
    <option>    1901    </option>
    <option>    1902    </option>
    <option>    1903    </option>
    <option>    1904    </option>
    <option>    1905    </option>
    <option>    1906    </option>
    <option>    1907    </option>
    <option>    1908    </option>
    <option>    1909    </option>
    <option>    1910    </option>
    <option>    1911    </option>
    <option>    1912    </option>
    <option>    1913    </option>
    <option>    1914    </option>
    <option>    1915    </option>
    <option>    1916    </option>
    <option>    1917    </option>
    <option>    1918    </option>
    <option>    1919    </option>
    <option>    1920    </option>
    <option>    1921    </option>
    <option>    1922    </option>
    <option>    1923    </option>
    <option>    1924    </option>
    <option>    1925    </option>
    <option>    1926    </option>
    <option>    1927    </option>
    <option>    1928    </option>
    <option>    1929    </option>
    <option>    1930    </option>
    <option>    1931    </option>
    <option>    1932    </option>
    <option>    1933    </option>
    <option>    1934    </option>
    <option>    1935    </option>
    <option>    1936    </option>
    <option>    1937    </option>
    <option>    1938    </option>
    <option>    1939    </option>
    <option>    1940    </option>
    <option>    1941    </option>
    <option>    1942    </option>
    <option>    1943    </option>
    <option>    1944    </option>
    <option>    1945    </option>
    <option>    1946    </option>
    <option>    1947    </option>
    <option>    1948    </option>
    <option>    1949    </option>
    <option>    1950    </option>
    <option>    1951    </option>
    <option>    1952    </option>
    <option>    1953    </option>
    <option>    1954    </option>
    <option>    1955    </option>
    <option>    1956    </option>
    <option>    1957    </option>
    <option>    1958    </option>
    <option>    1959    </option>
    <option>    1960    </option>
    <option>    1961    </option>
    <option>    1962    </option>
    <option>    1963    </option>
    <option>    1964    </option>
    <option>    1965    </option>
    <option>    1966    </option>
    <option>    1967    </option>
    <option>    1968    </option>
    <option>    1969    </option>
    <option>    1970    </option>
    <option>    1971    </option>
    <option>    1972    </option>
    <option>    1973    </option>
    <option>    1974    </option>
    <option>    1975    </option>
    <option>    1976    </option>
    <option>    1977    </option>
    <option>    1978    </option>
    <option>    1979    </option>
    <option>    1980    </option>
    <option>    1981    </option>
    <option>    1982    </option>
    <option>    1983    </option>
    <option>    1984    </option>
    <option>    1985    </option>
    <option>    1986    </option>
    <option>    1987    </option>
    <option>    1988    </option>
    <option>    1989    </option>
    <option>    1990    </option>
    <option>    1991    </option>
    <option>    1992    </option>
    <option>    1993    </option>
    <option>    1994    </option>
    <option>    1995    </option>
    <option>    1996    </option>
    <option>    1997    </option>
    <option>    1998    </option>
    <option>    1999    </option>
    <option>    2000    </option>
    </select>
    </td></tr>
    <tr>
    <td width="200">&nbsp;</td>
    <td colspan="2" style="padding-left:0px;"><hr style="color:#B8C8DC0; width:400px;" /></td>
    </tr>
    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">Sicherheitsfrage:</td><td width="250"><select style="height:30px; width:248px; font-size:20px; color:#B8C8DC;" name="sicherheitsfrage"><option value="0">------------</option>
    <option value="Mein Geburtsort">Mein Geburtsort</option>
    <option value="Name des ersten Klassenlehrers">Name des ersten Klassenlehrers</option>
    <option value="Lieblingslehrer">Lieblingslehrer</option>
    <option value="Name des ersten Partners">Name des ersten Partners</option>
    </select></td></tr>
    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">Antwort:</td><td width="250"><input type="text" style="height:38px; width:248px; font-size:20px; color:#B8C8DC;" name="antwort" maxlength="50" /></td></tr>
    <tr>
    <td width="200">&nbsp;</td>
    <td colspan="2" style="padding-left:0px;"><hr style="color:#B8C8DC0; width:400px;" /></td>
    </tr>

    <tr><td align="right">&nbsp;</td><td width="150" align="right" style="height:40px;">&nbsp;</td><td width="250"><input type="submit" value="Registrieren" name="reg_new_user" /></td></tr>




    </table>
    </form>

    hier das komplette script:

    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    ini_set('display_errors''1');
    if(!isset(
    $_POST['reg_new_user'])) return;

    if(
    !isset(
    $_POST['vorname']) || 
    !isset(
    $_POST['nachname']) ||
    !isset(
    $_POST['username']) ||
    !isset(
    $_POST['email']) ||
    !isset(
    $_POST['passwort']) ||
    !isset(
    $_POST['sex']) ||
    !isset(
    $_POST['vorname']) || 
    !isset(
    $_POST['geb_tag']) || 
    !isset(
    $_POST['geb_mon']) || 
    !isset(
    $_POST['geb_jahr']) || 
    !isset(
    $_POST['sicherheitsfrage']) || 
    !isset(
    $_POST['antwort']) || 

    empty(
    $_POST['vorname']) || 
    empty(
    $_POST['nachname']) ||
    empty(
    $_POST['username']) ||
    empty(
    $_POST['email']) ||
    empty(
    $_POST['passwort']) ||
    empty(
    $_POST['sex']) ||
    empty(
    $_POST['vorname']) || 
    empty(
    $_POST['geb_tag']) || 
    empty(
    $_POST['geb_mon']) || 
    empty(
    $_POST['geb_jahr']) || 
    empty(
    $_POST['sicherheitsfrage']) || 
    empty(
    $_POST['antwort'])) {
        
    $error_msg "Bitte füllen Sie alle Felder aus.";
    return;    
    }

    if(
    $_POST['passwort'][0] !== $_POST['passwort'][1]) {
        
    $error_msg "Die Passwörter stimmen nicht überein.";
        return;
    }

    if(
    $_POST['email'][0] !== $_POST['email'][1]) {
        
    $error_msg "Die e-Mail adressen stimmen nicht überein.";
        return;
    }

    if(
    strlen($_POST['username']) > 20 ) {
        
    $error_msg "Der Username ist zu Lang";
        return;
    }
    if(
    strlen($_POST['vorname']) > 30 ) {
        
    $error_msg "Der Vorname ist zu Lang";
        return;
    }
    if(
    strlen($_POST['nachname']) > 30 ) {
        
    $error_msg "Der Nachname ist zu Lang";
        return;
    }
    if(!
    filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
        
    $error_msg "Bitte geben Sie eine gültige Email Adresse ein.";
        return;
    }

    $geb_tag trim($_POST['geb_tag']) ; 
    $geb_mon trim($_POST['geb_mon']) ;
    $geb_jahr trim($_POST['geb_jahr']) ;

    $passwort hash('sha256'$_POST['passwort'][0].$salt);
    $username trim($_POST['username']) ;
    $vorname trim($_POST['vorname']) ;
    $nachname trim($_POST['nachname']) ;
    $email $_POST['email'] ;
    $antwort trim($_POST['antwort']) ;
    $sicherheitsfrage trim($_POST['sicherheitsfrage']) ;
    $sex trim($_POST['sex']) ;
    $user_ip ip2long($_SERVER['REMOTE_ADDR']);
    $confirm_code=md5(uniqid(rand()));

    #$log_data = '
    #    INSERT INTO 
    #                ow_login 
    #                (username, email, passwort, confirmcode, ip, sicherheit, antwort) )
    #    VALUES
    #                (?, ?, ?, ?, ?, ?,?)';
    #    
    #    $stmtt = $db2->prepare($log_data);
    #    $stmtt->bind_param('ssssiss', $username, $email, $passwort, $confirmcode, $user_ip, $sicherheitsfrage, $antwort);
    #    if(!$stmtt->execute()) {
    #        echo "Fehler";
    #    }



    $log_data mysql_query("INSERT 
                                    INTO 
                                        ow_login     
                                        (username, email, passwort, confirmcode, ip, sicherheit, antwort) 
                                        
                                        VALUES 
                                        
                                        ('
    $username', '$email, '$passwort, '$confirmcode, '$user_ip, '$sicherheitsfrage', '$antwort')");
                                        
    mysql_query($log_data) or die(mysql_error());
                                        echo 
    mysql_affected_rows();
                                        echo 
    "{$log_data}\n";
    $last_id mysql_insert_id($log_data);

    $pro_data mysql_query("INSERT 
                                    INTO 
                                        ow_user_data     
                                        (userid, vorname, nachname, geb_tag, geb_mon, geb_jahr, sex) 
                                        
                                        VALUES 
                                        
                                        ('
    $last_id', '$vorname', '$nachname, '$geb_tag', '$geb_mon', '$geb_jahr', '$sex')");

    $scs_msg =" Der Bernutzer ".htmlspecialchars($_POST['name'])." wurde erfolgreich hinzugefügt Bitte bestätigen Sie nun Ihre e-Mail.";
    header ("Location: ?prof=6&a=2");

    ?>

    wenn ich im 2ten Script eine weiteren Post eintrage mit zufälligem Namen schlägt es sofort an und ich erhalte den hinweis das diese nicht defeniert ist, somit wird dieses script immerhin aufgerufen bei absenden des formulars.

    Sonst passiert aber nichts mehr und seid ich
    PHP-Code:
    mysql_query($log_data) or die(mysql_error());
    echo 
    mysql_affected_rows();
    echo 
    "{$log_data}\n"
    mit eingebaut habe wird auch nichts mehr in die Datenbank geschrieben. mfg

    Ersten Fehler gefunden <?php echo $err_msg; ?> im formular ist nicht korrekt und gabe es durch <?php echo $error_msg; ?> wie im script ersetzt arbeite weiter dran. dummer fehler geb ich zu.

    Nun beendet er es bei:

    if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    $error_msg = "Bitte geben Sie eine gültige Email Adresse ein.";
    return;
    }

    dabei ist die email definitiv gültig.
    Geändert von sheel (24.01.12 um 17:03 Uhr) Grund: Triple
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  10. #10
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Ich will nicht dein ganzes Script. Ich will das generierte SQL (So wie in meinem Tutorial beschrieben).
    Das Script kann ich bei mir nicht laufen lassen und einfach alles druchgehen um Blind Fehler zu suchen - nope.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  11. #11
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    Ja ist mir bewusst das du das script möchtest, dann sag mir noch bitte wie ich an die ausgabe kommen, wenn das script vorzeitig unterbrochen wird da es die email adresse als nicht gültig anerkennt.

    Ich erhalte auf diesem wege bisher keine ausgabe und wie es vorher zu einem eintrag in der db kommen konnte ist nach wie vor ein Rätsel für mich für das ich absolut keine logische erklärung finde.

    Die Fehlerhaft email ist die letzte Prüfung im script bevor es zur Datenspeicherung kommt und dann kann ich auch sämtliche Dinge ausgeben lassen wenn ich soweit bin.

    So auch das habe ich und um auf deine sache zurück zu kommen. Die einzige ausgabe die ich nun erhalte ist:

    Query was empty

    eingebaut habe ich es wie folgt:


    PHP-Code:
    $log_data mysql_query("INSERT 
                                    INTO 
                                        ow_login     
                                        (username, email, passwort, confirmcode, ip, sicherheit, antwort) 
                                        
                                        VALUES 
                                        
                                        ('
    $username', '$email, '$passwort, '$confirm_code, '$user_ip, '$sicherheitsfrage', '$antwort')");
                                        
    mysql_query($log_data) or die(mysql_error());
                                        echo 
    mysql_affected_rows();
                                        echo 
    "{$log_data}\n"
    Geändert von sheel (24.01.12 um 17:04 Uhr) Grund: Doppel
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  12. #12
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Du hast mein verlinktes Tutorial nicht gelesen.
    Also, ich kaus dir trotzdem nochmals vor.
    PHP-Code:
    //Hier das SQL in eine Variable schreiben
    $sql"INSERT 
                                    INTO 
                                        ow_login     
                                        (username, email, passwort, confirmcode, ip, sicherheit, antwort) 
                                        
                                        VALUES 
                                        
                                        ('
    $username', '$email, '$passwort, '$confirm_code, '$user_ip, '$sicherheitsfrage', '$antwort')";
    //Hier das SQL-Script zur weiteren Fehleranalyse ausgeben
    var_dump($sql);

    //und dann kannst du es immer noch ausführen. Aber eigentlich ist das vorerst unwichtig
    $log_data mysql_query($sql);
                                        
    mysql_query($log_data) or die(mysql_error());
                                        echo 
    mysql_affected_rows();
                                        echo 
    "{$log_data}\n"
    Ein Fehler seh ich bereits. Den solltest du aber auch sehen wenn du das generierte SQL mal studierst. (Ist sogar fast der gleiche Fehler wie im Tutorial abgearbeitet wird und mit dem Vorgehen vom Tutorial problemlos gefunden werden kann).
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  13. #13
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    Danke,

    habe mal $sql"INSERT in $sql = "INSERT geändert nun erhalte ich folgendes:

    string(521) "INSERT INTO ow_login (username, email, passwort, confirmcode, ip, sicherheit, antwort) VALUES ('JuSeCo', 'my@mail.de, '057958778620777b461354ffa987651c357f3f27a1be21806bb5a5147c1e05f3, '27bcd2963fff5a9c349ab3fa6500c1d5, ', 'Mein Geburtsort', 'Brühl')" Query was empty

    lg

    habe noch bei der user_ip ein ' eingefügt änderung ist nun folgendermassen:

    string(522) "INSERT INTO ow_login (username, email, passwort, confirmcode, ip, sicherheit, antwort) VALUES ('JuSeCo', 'my@mail.de, '057958778620777b461354ffa987651c357f3f27a1be21806bb5a5147c1e05f3, '4bbd4264d6b6a2f63a24733015c3e18f, '', 'Mein Geburtsort', 'Brühl')" Query was empty
    Geändert von sheel (24.01.12 um 17:04 Uhr) Grund: Doppel
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  14. #14
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Und wenn du das ganze mal hier im Forum mal in SQL-Tags setzt und noch formatierst, sollte dir etwas auffallen (sogar 4 Dinge sollten dir auffallen)
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    INSERT INTO 
        ow_login 
    (
        username, 
        email, 
        passwort, 
        confirmcode, 
        ip, 
        sicherheit, 
        antwort
    )
    VALUES
    (
        'JuSeCo', 
        'my@mail.de, 
        '057958778620777b461354ffa987651c357f3f27a1be21806bb5a5147c1e05f3, 
        '27bcd2963fff5a9c349ab3fa6500c1d5,
        ',
        'Mein Geburtsort',
        'Brühl'
    )
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  15. #15
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    Es waren 4 Dinge insgesammt, fehlercode hat sich nun geändert:

    Code sql:
    1
    
    string(525) "INSERT INTO ow_login (username, email, passwort, confirmcode, ip, sicherheit, antwort) VALUES ('JuSeCo', 'verino@live.de', '057958778620777b461354ffa987651c357f3f27a1be21806bb5a5147c1e05f3', 'ef5fca10c4f40e3ca6bd574ea21103a0', '', 'Mein Geburtsort', 'Brühl')" You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near '1' at line 1
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

Ähnliche Themen

  1. mysql_insert_id IN mysql_query
    Von Transporter im Forum PHP
    Antworten: 5
    Letzter Beitrag: 13.03.09, 15:05
  2. Antworten: 4
    Letzter Beitrag: 14.11.06, 10:45
  3. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  4. mysql_insert_id & auto_increment
    Von barney_hh im Forum Relationale Datenbanksysteme
    Antworten: 13
    Letzter Beitrag: 17.01.04, 21:36
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29