Simon: get_lock, release_lock funktioniert nicht richtig

Beitrag lesen

Pauschal würde ich sagen: Nutze Transaktionen.

Ich hab es mal so versucht:

  
$db->setAttribute(PDO::ATTR_AUTOCOMMIT, FALSE);  
try {  
  $db->beginTransaction();  
  $stmt = $db->prepare("INSERT INTO lockbit (user_id, locked) VALUES (?, ?)");  
  $stmt->execute(array(11111111, 1));  
  $stmt = $db->prepare("INSERT INTO lockbit (user_ida, locked) VALUES (?, ?)");  
  $stmt->execute(array(11111111, 1));  
  $db->commit();  
} catch(PDOException $e) {  
  $db->rollBack();  
}  

Dabei sollte das zweite INSERT INTO einen Fehler erzeugen (user_ida existiert nicht) und eigentlich doch das RollBack vollzogen werden oder?

Leider ist das nicht der fall. Es wird das erste INSERT INTO eingefügt, aber es findet kein rollBack statt.