MySQL Daten Löschen und und neue einfügen

DerEisige

Erfahrenes Mitglied
Hallo
ich hab hier ein kleines Problem, wir ihr sehen könnt habe ich 2 MySQL Datenbank Anwendungen es wird aber nur die Obere ausgeführt und ich finde einfach nicht den Fehler.

hoffe ihr könnt mir Helfen.
PHP:
$SQL = "DELETE FROM $SQLDatenbankRegistrierung WHERE code LIKE :Code";
$stmt = $PDO->prepare($SQL);
$stmt->bindParam(':Code', $_SESSION['code']);
$stmt->execute();
		
		
$SQL = "INSERT INTO $SQLDatenbankAccount (name, email, passwort, sicherheitsfrage, sicherheitsantwort, agb, datenschutz, anmeldeip) VALUES (:Name, :Email, :Passwort, :Sicherheitsfrage, :Sicherheitsantwort, :Agb, :Datenschutz, :Anmeldeip)";
$accounterstellung = $PDO->prepare($SQL);
$accounterstellung->bindParam(':Name', $_SESSION['name']);
$accounterstellung->bindParam(':Email', $_SESSION['email']);
$accounterstellung->bindParam(':Passwort', $_SESSION['passwort']);
$accounterstellung->bindParam(':Sicherheitsfrage', $_SESSION['sicherheitsfrage']);
$accounterstellung->bindParam(':Sicherheitsantwort', $_SESSION['sicherheitsantwort']);
$accounterstellung->bindParam(':Agb', $_SESSION['agb']);
$accounterstellung->bindParam(':Datenschutz', $_SESSION['datenschutz']);
$accounterstellung->bindParam(':Anmeldeip', $_SERVER['REMOTE_ADDR']);
    if(!$accounterstellung->execute()){   //<----Hier tritt der Fehler auf 
        $error_text .= $ERROR['102'];  
    }else{
        $ok_text .= $OK['302'];		
        if(eMail($_SESSION['email'], "Betreff", "Hallo")){
        $ok_text .= $OK['303'];
        }      
    unset($_POST);
    }
 
Hast du dir mal eine Fehlermeldung anzeigen lassen?
Führe mal ein var_dump($_SESSION); aus. Sind alle Werte so wie sie sein sollten?
 
die SESSION ist oke die Daten werden bloß nicht in die MySQL geschrieben.
Fehlermeldung kann ich leider nicht auf dem Server ausgeben lasen
 
ok danke saftmeister hat mir eiter geholfen habe auch ein par Fehler auf der restlichen Seite gefunden aber leider nichts was zu dem Problem gehört.

PHP:
$SQL
$PDO->
habe die richtigen werte in beiden Datenbank befehlen,
aber nur der obere wird ausgeführt und bei dem unteren kommt wie gesagt auch keine Fehler Meldung das irgend etwas falsch währe.
 
Zuletzt bearbeitet:
Wie initialisierst du das $PDO-Objekt? Verwendest du bereits Exceptions? Was passiert, wenn du auf das PDO-Objekt das Attribute PDO::ERRMODE_EXCEPTION anwendest, bevor du das zweite Statement erzeugst:

PHP:
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try
{
  $accounterstellung = $PDO->prepare($SQL);
  ....
  ....
}
catch(PDOException $pdoex)
{
  Logger::log($pdoex->getMessage());
  Logger::log($pdoex->getTraceAsString());
}

Anschließend einen Blick ins Logfile werfen...
 
im log
HTML:
20121008-19:33:11	SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
20121008-19:33:11	#0 /customers/a/3/9/blacki.in/httpd.www/script/registrieren.fu.php(143): PDOStatement->execute()
#1 /customers/a/3/9/blacki.in/httpd.www/registrierung.php(11): include_once('/customers/a/3/...')
#2 {main}
 
Mach mal folgendes: Erweiter den Catch-Block folgendermaßen:

PHP:
try
{
  .....
}
catch(PDOException $pdoex)
{
  Logger::log($pdoex->getMessage());
  Logger::log($pdoex->getTraceAsString());
  Logger::log("_SERVER=" . $_SERVER['REMOTE_ADDR']);
  Logger::log("_SESSION=" . var_export($_SESSION, true));
}

Beim posten des Ergebnisses evtl. darauf achten, die Daten zu anonymisieren. Aber nichts löschen, höchstens verändern ;-)

Evtl. kannst du auch probieren, was passiert, wenn du statt bindParam() mal bindValue() verwendest.
 
wenn ich es so mache, bekomme ich keinen kein logeintrag mehr aber dafür Funktionsart meine Datenbank befehle.
wenn ich aber
PHP:
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try
{
  $accounterstellung = $PDO->prepare($SQL);
  ....
  ....
}
catch(PDOException $pdoex)
{
  Logger::log($pdoex->getMessage());
  Logger::log($pdoex->getTraceAsString());
  Logger::log("_SERVER=" . $_SERVER['REMOTE_ADDR']);
  Logger::log("_SESSION=" . var_export($_SESSION, true));
}
entferne, Funktioniert es nicht mehr.:confused::confused::confused:
 

Neue Beiträge

Zurück