zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden PDO: Insert wird nicht in Datenbank übernommen.

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 07.02.2013, 21:27
Benutzerbild von Xzeer
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 07.05.2011
Ort: Wuppertal
Beiträge: 15
Xzeer befindet sich auf einem aufstrebenden Ast
Standard PDO: Insert wird nicht in Datenbank übernommen.

Hallo zusammen,

ich habe da ein Problem beim Zugriff auf eine MySQL Datenbank per PDO. Ich habe eine Klasse "Benutzer" und in dieser Klasse die folgende Methode:

PHP-Code:
private function insert() {
        
$sql "INSERT INTO benutzer (name, email, passwort) VALUES (:name,:email,:passwort)";
        
$datenbank Datenbank::getInstanz();
        
$befehl $datenbank->dbh->prepare($sql);
        
$befehl->execute(array(':name'        => $this->name,
                               
':email'    => $this->email,
                               
':passwort' => $this->passwort));
        
$this->id $datenbank->dbh->lastInsertId();
    } 
Das Singelton "Datenbank" erzeugt die Verbindung folgendermaßen:

PHP-Code:
private function __construct() {
        
$dsn =     'mysql:host=' DB_HOST ';dbname=' DB_NAME;
        
$username DB_BENUTZER;
        
$passwd DB_PASSWORT;
        try { 
$this->dbh = new PDO($dsn$username$passwd); }
        catch (
PDOException $e) { echo $e->getMessage(); }
    } 
Jetzt lasse ich folgendes Testscript laufen:

PHP-Code:
$benutzer = new Benutzer();
    
$benutzer->name 'max';
    
$benutzer->email 'max@was.wo';
    
$benutzer->passwort 'abc123';
    
    
print_r($benutzer);
    
$benutzer->save(); // EDIT: Schönheitsfehler korrigiert -> siehte Post #3
    
print_r($benutzer); 
Fehler gibt es keine, jedoch wird in der Datenbank kein neuer Eintrag erzeugt. Das ist merkwürdig, da die anderen Methoden (Update, Find, FetchAll) alle funktionieren...

Kann mir da wer helfen?
__________________
Xzeer

Geändert von Xzeer (07.02.2013 um 22:13 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 07.02.2013, 22:03
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 13.07.2006
Beiträge: 745
mermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblick
Standard

Die insert()-Funktion steht auf private, kann also von außen nicht aufgerufen werden. Wie ist denn dein Error-Reporting eingestellt? Das müsste eigentlich einen Fehler werfen, wenn mich nicht alles täuscht.

PHP-Code:
error_reporting(-1);
ini_set('display_errors'1); 
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 07.02.2013, 22:12
Benutzerbild von Xzeer
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 07.05.2011
Ort: Wuppertal
Beiträge: 15
Xzeer befindet sich auf einem aufstrebenden Ast
Standard

Sorry, kleiner Schöhnheitsfehler meinerseits. Die "Methode" ist zwar private, wird aber auch nicht von außen aufgerufen, da das die Methode "save()" übernimmt:

PHP-Code:
public function save() {
        if (
$this->id === null) {
            
$this->insert();
        } else {
            
$this->update();
        }
    } 
Da habe ich eben vorschnell zu zeigenden Code eingespart.

EDIT: Es klappt jetzt. Ich hatte muss wohl irgendwie einen Rechtschreibfehler in der MySQL-Tabelle gehabt haben, denn nachdem ich die nochmal neuerstellt habe gehts.
__________________
Xzeer

Geändert von Xzeer (07.02.2013 um 22:54 Uhr) Grund: Problem gelöst.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrfacher Verbindungsaufruf PDO pascala Serveradministration und serverseitige Scripte 4 22.05.2012 20:51
Datenbank Verständnis Problem laborix Serveradministration und serverseitige Scripte 21 26.07.2011 17:06
PHP(PDO) Daten werden nicht in Datenbank eingetragen Ulixes Serveradministration und serverseitige Scripte 10 14.04.2009 21:20
PDO + MySQL: mehrere Zeilen gleichzeitig einfügen Pablo Serveradministration und serverseitige Scripte 6 20.03.2009 19:59
Datenbank klein halten oder möglichst wenig Textoperationen: Was ist zu bevorzugen? Schelm.isch Serveradministration und serverseitige Scripte 3 30.11.2008 16:01


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:17 Uhr.