Handle mysqli errors

- Handle mysql errors that are no longer silenced per default for new php versions
- Handled error when log file cannot be created
This commit is contained in:
foin137
2023-11-05 15:44:24 +01:00
parent 77b11c0ac2
commit 93b38cfc47
2 changed files with 78 additions and 46 deletions

View File

@@ -143,8 +143,14 @@ p#liste {
else else
{ {
//Schauen, ob es auch einen Eintrag zu diesem Spiel in der Datenbank gibt... //Schauen, ob es auch einen Eintrag zu diesem Spiel in der Datenbank gibt...
$spiel_existiert = True;
try{
$alleres = $mysqli->Query("SELECT * FROM $spielID"."_spieler"); $alleres = $mysqli->Query("SELECT * FROM $spielID"."_spieler");
if(isset($alleres->num_rows)) }
catch (Exception $e) {
$spiel_existiert = False;
}
if($spiel_existiert && isset($alleres->num_rows))
{ {
//Schauen, ob es auch mich als Spieler gibt und meine verifizierungsnr stimmt //Schauen, ob es auch mich als Spieler gibt und meine verifizierungsnr stimmt
$spielerResult = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = $eigeneID AND verifizierungsnr = ".(int)$_COOKIE['verifizierungsnr']); $spielerResult = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = $eigeneID AND verifizierungsnr = ".(int)$_COOKIE['verifizierungsnr']);
@@ -1513,8 +1519,14 @@ p#liste {
} }
$spielID = rand(10000,99999); $spielID = rand(10000,99999);
//nachschauen, ob ein Spiel mit dieser Nummer bereits existiert //nachschauen, ob ein Spiel mit dieser Nummer bereits existiert
$existiert = False;
try {
$res = $mysqli->Query("SELECT * FROM $spielID"."_spieler"); $res = $mysqli->Query("SELECT * FROM $spielID"."_spieler");
if(isset($res->num_rows)){ }
catch (mysqli_sql_exception $e){
$existiert = True;
}
if(!$existiert && isset($res->num_rows)){
//Tabelle existiert //Tabelle existiert
}else{ }else{
@@ -1635,8 +1647,14 @@ p#liste {
if ($_POST['ihrName'] != "" && strpos($_POST['ihrName'],"$")===false && strpos($_POST['ihrName'],";")===false && strpos($_POST['ihrName'],'"')===false && strpos($_POST['ihrName'],"'")===false && strpos($_POST['ihrName'],"=")===false) if ($_POST['ihrName'] != "" && strpos($_POST['ihrName'],"$")===false && strpos($_POST['ihrName'],";")===false && strpos($_POST['ihrName'],'"')===false && strpos($_POST['ihrName'],"'")===false && strpos($_POST['ihrName'],"=")===false)
{ {
//Name wurde eingegeben. Existiert auch ein Spiel dieser Nummer? //Name wurde eingegeben. Existiert auch ein Spiel dieser Nummer?
$existiert = False;
try{
$res = $mysqli->Query("SELECT * FROM $spielID"."_spieler"); $res = $mysqli->Query("SELECT * FROM $spielID"."_spieler");
if(isset($res->num_rows)) }
catch(mysqli_sql_exception $e){
$existiert = True;
}
if(!$existiert && isset($res->num_rows))
{ {
//Ein Spiel dieser Nummer existiert! //Ein Spiel dieser Nummer existiert!
$verboteneNamen = array("niemanden","niemand","keinen","keiner","dorfbewohner","werwolf","seher","seherin","hexe","hexer","jäger","amor","beschützer","paranormaler ermittler","lykantroph","lykantrophin","spion","spionin","mordlustiger","mordlustige","pazifist","pazifistin","alter mann","alter","alte","alte frau","die alten","alten"); $verboteneNamen = array("niemanden","niemand","keinen","keiner","dorfbewohner","werwolf","seher","seherin","hexe","hexer","jäger","amor","beschützer","paranormaler ermittler","lykantroph","lykantrophin","spion","spionin","mordlustiger","mordlustige","pazifist","pazifistin","alter mann","alter","alte","alte frau","die alten","alten");
@@ -1645,6 +1663,7 @@ p#liste {
$stmt->bind_param('s',$_POST['ihrName']); $stmt->bind_param('s',$_POST['ihrName']);
$stmt->execute(); $stmt->execute();
$nameRes = $stmt->get_result(); $nameRes = $stmt->get_result();
$stmt->close();
if ($nameRes->num_rows <= 0 && !in_array(strtolower($_POST['ihrName']),$verboteneNamen)) if ($nameRes->num_rows <= 0 && !in_array(strtolower($_POST['ihrName']),$verboteneNamen))
{ {
//Name gültig //Name gültig
@@ -1696,7 +1715,6 @@ p#liste {
{ {
echo "<p class='error' >Der angegebene Name ist bereits vorhanden oder ungültig</p>"; echo "<p class='error' >Der angegebene Name ist bereits vorhanden oder ungültig</p>";
} }
$stmt->close();
} }
else else
{ {

View File

@@ -30,8 +30,14 @@ function loescheAlteSpiele($mysqli)
for ($i = 10000; $i<= 99999; $i++) for ($i = 10000; $i<= 99999; $i++)
{ {
$existiert = True;
try{
$alleres = $mysqli ->Query("SELECT * FROM $i"."_game"); $alleres = $mysqli ->Query("SELECT * FROM $i"."_game");
if(isset($alleres->num_rows)) }
catch (mysqli_sql_exception $e){
$existiert = False;
}
if($existiert && isset($alleres->num_rows))
{ {
$temp = $alleres->fetch_assoc(); $temp = $alleres->fetch_assoc();
if ($temp['letzterAufruf'] < $zeitpunkt) if ($temp['letzterAufruf'] < $zeitpunkt)
@@ -1658,6 +1664,7 @@ function writeGameToLog($mysqli)
$spielID = $_COOKIE['SpielID']; $spielID = $_COOKIE['SpielID'];
$fileName = "log/Werwolf_log_".date("Y_m").".log"; $fileName = "log/Werwolf_log_".date("Y_m").".log";
$myfile = fopen($fileName, "a"); $myfile = fopen($fileName, "a");
if ($myfile){
fwrite($myfile,"\n--- SPIEL BEENDET --- \n"); fwrite($myfile,"\n--- SPIEL BEENDET --- \n");
fwrite($myfile,"SpielID: $spielID \n"); fwrite($myfile,"SpielID: $spielID \n");
fwrite($myfile,"SpielEnde: ".date("d.m.Y, H:i:s")."\n"); fwrite($myfile,"SpielEnde: ".date("d.m.Y, H:i:s")."\n");
@@ -1682,17 +1689,20 @@ function writeGameToLog($mysqli)
} }
fwrite($myfile,"--- ENDE DES SPIELLOGS ---\n"); fwrite($myfile,"--- ENDE DES SPIELLOGS ---\n");
fclose($myfile); fclose($myfile);
}
} }
function writeGameToLogSpielErstellen($mysqli, $spielID, $name) function writeGameToLogSpielErstellen($mysqli, $spielID, $name)
{ {
$fileName = "log/Werwolf_log_".date("Y_m").".log"; $fileName = "log/Werwolf_log_".date("Y_m").".log";
$myfile = fopen($fileName, "a"); $myfile = fopen($fileName, "a");
if ($myfile){
fwrite($myfile,"\n--- NEUES SPIEL ERSTELLT --- \n"); fwrite($myfile,"\n--- NEUES SPIEL ERSTELLT --- \n");
fwrite($myfile,"SpielID: $spielID \n"); fwrite($myfile,"SpielID: $spielID \n");
fwrite($myfile,"Zeit: ".date("d.m.Y, H:i:s")."\n"); fwrite($myfile,"Zeit: ".date("d.m.Y, H:i:s")."\n");
fwrite($myfile,"Name des Erstellers: $name \n"); fwrite($myfile,"Name des Erstellers: $name \n");
fclose($myfile); fclose($myfile);
}
} }
function checkeSiegbedingungen($mysqli) function checkeSiegbedingungen($mysqli)
@@ -1813,11 +1823,13 @@ function setBereit($mysqli,$spielerID,$bereit)
function gameAssoc($mysqli) function gameAssoc($mysqli)
{ {
$spielID = $_COOKIE['SpielID']; $spielID = $_COOKIE['SpielID'];
try{
if ($gameRes = $mysqli->Query("SELECT * FROM $spielID"."_game")) if ($gameRes = $mysqli->Query("SELECT * FROM $spielID"."_game"))
{ {
$gameA = $gameRes->fetch_assoc(); $gameA = $gameRes->fetch_assoc();
return $gameA; return $gameA;
} }
}catch(mysqli_sql_exception $e) {}
return false; return false;
} }
@@ -1835,11 +1847,13 @@ function getName($mysqli, $spielerID)
//Gibt den Namen des Spielers mit der $spielerID zurück //Gibt den Namen des Spielers mit der $spielerID zurück
$spielID = $_COOKIE['SpielID']; $spielID = $_COOKIE['SpielID'];
$spielerID = (int)$spielerID; $spielerID = (int)$spielerID;
try{
if ($res = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = $spielerID")) if ($res = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = $spielerID"))
{ {
$temp = $res->fetch_assoc(); $temp = $res->fetch_assoc();
return $temp['name']; return $temp['name'];
} }
} catch(mysqli_sql_exception $e) {}
return "Unknown"; return "Unknown";
} }