Einzelnen Beitrag anzeigen

Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#31

AW: [PHP/MySQL] - commit klappt nicht

  Alt 11. Jul 2010, 23:27
Hi!

Ja, da habe ich natürlich jetzt auf dem Schlauch gestanden.
Danke dir fürs runterheben

Die augenscheinlich funktionierende Version sieht jetzt so aus:

PHP-Quellcode:
$db -> autocommit(false);
   $db -> query("LOCK TABLES course_registrations WRITE");
   
   $sql = $db -> prepare('UPDATE course_registrations SET active = NOT active WHERE participantId=? AND courseId=?');
   $sql -> bind_param('ii', $participantID, $courseID);
   $sql -> execute();
   
   if ($db -> commit() && $sql -> affected_rows == 1) {

      $sql -> close();
      $sql2 = $db->prepare('SELECT active FROM course_registrations WHERE participantId=? AND courseId=?');
      $sql2 -> bind_param('ii', $participantID, $courseID);
      $sql2 -> execute();
      $sql2 -> bind_result($active);
      $sql2 -> fetch();
      $sql2 -> close();
      $db -> query("UNLOCK TABLES");
      $db -> autocommit(true);
      
      
      $owner = getLeaderForCourseId($db, $courseID);
      sendMessage($db,
               $owner,   
               $participantID,
               $active?20:21,
               $active?$langActivated:$langDeactivated,
               $_GET['cid']);
      return 1;
   } else {
      $sql -> close();
      $db -> query("UNLOCK TABLES");
      $db -> autocommit(true);
      return 0;
   }
Vllt. magst du ja nochmal drüberschauen und sagen, ob es noch was zu verbessern gibt.

Liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat