php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.01.2012, 20:26  
Benutzer
 
Registriert seit: 07.05.2010
Beiträge: 62
PHP-Kenntnisse:
Anfänger
Verino ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$sql '
    INSERT INTO 
                `login`
                (`username`, `email`, `passwort`, `confirmcode`, `ip`)
    VALUES
                (?, ?, ?, ?, ?)'
;
                                    
$stmt $db->prepare($sql);
$stmt->bind_param('ssssi'$username$email$passwort$confirm_code$user_ip);                                
$last_id $db->lastInsertId();    
echo 
$last_id;
    if(!
$stmt->execute()) {
        if(
strpos($db->error$username) !== false) {
            
$error_msg "Der Username ".htmlspecialchars($username)." ist bereits Regestriert!";
        }
        
        if(
strpos($db->error$email) !== false) {
            
$error_msg "Die Emailadresse  ".htmlspecialchars($email)." ist bereits Regestriert!";
        }

        return;                                
                }
    
$stmt->close(); 
So habe es versucht auf eine sache zu reduzieren, denoch liefert es mir kein ergebniss zurück.
Verino ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.01.2012, 20:26  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Wenn du PDO nutzt, dann musst du auch per PDO LAST_INSERT_ID abfragen. Entweder wie schon geschrieben über einen weiteren manuellen Query oder eben über die last_insert_id-Funktion deiner Schnittstelle, in deinem Falle PDO::last_insert_id() http://php.net/manual/en/pdo.lastinsertid.php

EDIT:
auch so kann das nichts werden. last_insert_id() basiert auf der zuletzt in dieser Verbindung erzeugten AUTO_INCREMENT id. D.h. du musst das nach dem execute()-Aufruf ausführen.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 24.01.2012, 20:35  
Benutzer
 
Registriert seit: 07.05.2010
Beiträge: 62
PHP-Kenntnisse:
Anfänger
Verino ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$stmt $db->prepare($sql);
$stmt->bind_param('ssssi'$username$email$passwort$confirm_code$user_ip);                                
$dh $stmt->lastInsertId();
echo 
$dh


    if(!
$stmt->execute()) {
        if(
strpos($db->error$username) !== false) {
            
$error_msg "Der Username ".htmlspecialchars($username)." ist bereits Regestriert!";
        }
        
        if(
strpos($db->error$email) !== false) {
            
$error_msg "Die Emailadresse  ".htmlspecialchars($email)." ist bereits Regestriert!";
        }

        return;                                
                }
    
$stmt->close(); 

ich war nebenher auf einer anderen seite auch am lesen.

Es scheint für euch sicher leicht zu sein. Im grunde ist es doch so wie ich das sehe nur eine Zeile um die ich euch erfahrenen bitte.
Verino ist offline   Mit Zitat antworten
Alt 24.01.2012, 20:40  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.631
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von Verino Beitrag anzeigen
Es scheint für euch sicher leicht zu sein. Im grunde ist es doch so wie ich das sehe nur eine Zeile um die ich euch erfahrenen bitte.
Und was hast du davon? Dir wurde die Lösung schon zweimal hingeschrieben. Wenn du selber nicht in der Lage bist 2 Zeilen Code zu tauschen bist du definitiv noch nicht weit genug um dadran zu arbeiten wodran du momentan sitzt.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 24.01.2012, 21:07  
Benutzer
 
Registriert seit: 07.05.2010
Beiträge: 62
PHP-Kenntnisse:
Anfänger
Verino ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Dark Guardian Beitrag anzeigen
Und was hast du davon? Dir wurde die Lösung schon zweimal hingeschrieben. Wenn du selber nicht in der Lage bist 2 Zeilen Code zu tauschen bist du definitiv noch nicht weit genug um dadran zu arbeiten wodran du momentan sitzt.
Naja woran ich sitze, um sein wissen zu erweitern nutzt es nicht nur mit html und css seine seite zu formatieren sondern muss die zusammenhänge dahinter verstehen lernen.

Ich habe es jedenfalls noch einmal umgesetzt da ich den beitrag von manko bzw sein edit zu spät gesehen habe.

Der fehler ist nun raus der mir angezeigt wurde, doch scheint er nun das if(!$stmt->execute()) { komplett zu ignorieren da er weder die variable übernimmt noch prüft ob der eintrag vorhanden ist was es vorher tat.

PHP-Code:
$stmt $db->prepare($sql);
$stmt->bind_param('ssssi'$username$email$passwort$confirm_code$user_ip);                                



    if(!
$stmt->execute()) {
        
$last_id $db->lastInsertId();    
        
        if(
strpos($db->error$username) !== false) {
            
$error_msg "Der Username ".htmlspecialchars($username)." ist bereits Regestriert!";
        }
        
        if(
strpos($db->error$email) !== false) {
            
$error_msg "Die Emailadresse  ".htmlspecialchars($email)." ist bereits Regestriert!";
        }

        return;                                

Verino ist offline   Mit Zitat antworten
Alt 24.01.2012, 22:07  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Wenn das Statement fehlschlägt, wird auch keine ID erzeugt. Folglich kann lastInsertId auch keinen Wert enthalten. Darauf hättest du aber auch selbst kommen können.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 25.01.2012, 05:40  
Benutzer
 
Registriert seit: 07.05.2010
Beiträge: 62
PHP-Kenntnisse:
Anfänger
Verino ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja ist richtig, da bin ich auch drauf gekommen, nur frage ich mich wieso es nun fehlschlägt wenn es vorher angeschlagen hat.
Verino ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Cookie setzen und auslesen Rutor PHP Einsteiger 8 28.01.2011 08:55
[Erledigt] preparedStatement auslesen funktioniert nicht ?! Raidri PHP Tipps 2009 11 02.11.2009 09:21
[Erledigt] Anzahl der Zeilen auslesen ( MySQL ) errox Datenbanken 13 18.02.2009 16:07
Ordner auslesen und während des auslesen sortieren Dooki PHP Tipps 2008 6 14.05.2008 17:50
Vom Browser verschickte Daten auslesen und anzeigen? andy32 PHP Tipps 2008 3 22.08.2007 18:33
[Erledigt] Datenbank auslesen mit register_globals off PHP Tipps 2007 14 03.01.2007 17:12
[Erledigt] gelöst: Tabelle auslesen -> Gleiche Einträge nur 1 Mal Datenbanken 3 31.03.2006 01:44
[Erledigt] bestimmte ID's auslesen als array PHP Tipps 2007 2 31.10.2005 20:23
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
[Erledigt] Daten aus einer Datenbank auslesen Datenbanken 2 04.09.2005 19:13
Daten aus Pw-Geschütztem bereich auslesen PHP-Fortgeschrittene 2 26.08.2005 15:27
auslesen und nochmals auslesen?! $$$ ThiKool $$$ PHP Tipps 2005 23 10.03.2005 19:43
[Erledigt] Auslesen von Text incl. " aus Textfeld PHP Tipps 2007 4 04.01.2005 13:30
[Erledigt] Daten von anderer Homepage auslesen PHP Tipps 2004-2 5 02.12.2004 18:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
pdo last_insert_id

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum