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