Skip to content

Commit fbae5dd

Browse files
[Bug #775] Erfolgreicher Event Join zeigt keinen Fehler mehr an
1 parent a413907 commit fbae5dd

File tree

2 files changed

+29
-22
lines changed

2 files changed

+29
-22
lines changed

www/actions/events.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
$redirect_url .= '&event_id='.$eventJoinId;
102102
try {
103103
$sql = 'INSERT INTO events_to_user VALUES('.$user->id.', '.$eventJoinId.')';
104-
if (!$db->query($sql,__FILE__, __LINE__)) {
104+
if ($db->query($sql,__FILE__, __LINE__) === false) {
105105
$error = 'Cannot join Event ID ' . $eventJoinId;
106106
break;
107107
} else {

www/includes/mysql.inc.php

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,10 @@ function dbconn($database) {
5757
/**
5858
* Führt ein SQL-Query aus
5959
*
60-
* @version 2.0
60+
* @version 2.1
6161
* @since 1.0 method added
62-
* @since 2.0 06.11.2018 added mysql_affected_rows()-result for UPDATE-queries
62+
* @since 2.0 <inex> 06.11.2018 added mysql_affected_rows()-result for UPDATE-queries
63+
* @since 2.1 <inex> 07.08.2019 changed return mysql_insert_id() & mysql_affected_rows() to return row-id or true
6364
*
6465
* @param $sql string SQL
6566
* @param $file string Filename
@@ -87,9 +88,11 @@ function query($sql, $file='', $line=0, $funktion='') {
8788
//$result = mysqli_query($this->conn, $sql); // PHP7.x ready
8889
$sql_query_type = strtolower(substr($sql,0,6)); // first 6 chars of $sql = e.g. INSERT or UPDATE
8990
if ($sql_query_type == 'insert') {
90-
return mysql_insert_id($this->conn);
91+
$sql_insert_id = mysql_insert_id($this->conn);
92+
return (is_numeric($sql_insert_id) && $sql_insert_id !== 0 ? $sql_insert_id : ($sql_insert_id !== false ? true : false));
9193
} elseif ($sql_query_type == 'update') {
92-
return mysql_affected_rows();
94+
$sql_affected_rows = mysql_affected_rows();
95+
return (is_numeric($sql_affected_rows) && $sql_affected_rows !== 0 ? $sql_affected_rows : ($sql_affected_rows !== false ? true : false));
9396
} elseif (!$result && $this->display_error == 1) {
9497
die($this->msg($sql,$file,$line,$funktion));
9598
} else {
@@ -235,26 +238,30 @@ function tables() {
235238
}
236239

237240
/**
238-
* Fügt eine neue Row anhand eines assoziativen Arrays in eine DB-Table. Die Keys des Arrays entsprechen den Feldnamen
239-
* @author biko
240-
* @return Prim?rschl?ssel des neuen Eintrags
241-
* @param $table (String) Tabelle, in die eingef?gt werden soll
242-
* @param $values (Array) Array mit Table-Feldern (als Key) und den Werten
243-
* @param $file (String) Datei des Aufrufes (optional, f?r Fehlermeldung)
244-
* @param $line (int) Zeile des Aufrufes (optional, f?r Fehlermeldung)
241+
* Fügt eine neue Row anhand eines assoziativen Arrays in eine DB-Table. Die Keys des Arrays entsprechen den Feldnamen
242+
*
243+
* @author [z]biko
244+
* @version 2.0
245+
* @since 1.0 method added
246+
* @since 2.0 <inex> 26.05.2019 improved code, additional parameter and logging
247+
*
248+
* @param string $table Tabelle, in die eingefügt werden soll
249+
* @param array $values Array mit Table-Feldern (als Key) und den Werten
250+
* @param string $file (optinal) Datei des Aufrufes (optional, für Fehlermeldung)
251+
* @param int $line (optinal) Zeile des Aufrufes (optional, für Fehlermeldung)
252+
* @param string $funktion (optional) Funktion wo der Aufruf stattfand, für Fehlermeldung
253+
* @return Primärschlüssel des neuen Eintrags
245254
*/
246-
function insert($table, $values, $file='', $line=0) {
247-
if (!is_array($values)) {
255+
function insert($table, $values, $file='', $line=0, $funktion=null)
256+
{
257+
if (!is_array($values))
258+
{
259+
error_log(sprintf('[ERROR] <%s:%d> db->insert() Wrong Parameter type: %s', __METHOD__, __LINE__, $values));
248260
user_error('Wrong Parameter type '.$values.' in db->insert()', E_USER_ERROR);
249261
}
250-
251-
$sql =
252-
"INSERT INTO ".$table." ("
253-
.implode(",", array_keys($values)).") VALUES ('"
254-
.implode("','", $values)."')"
255-
;
256-
$id = $this->query($sql, $file, $line);
257-
return $id;
262+
$sql = sprintf('INSERT INTO `%s` (`%s`) VALUES ("%s")', $table, implode('`,`', array_keys($values)), implode('","', $values));;
263+
if (DEVELOPMENT) error_log(sprintf('[DEBUG] <%s:%d> $db->insert() query: %s', __METHOD__, __LINE__, $sql));
264+
return $this->query($sql, $file, $line, $funktion);
258265
}
259266

260267
/**

0 commit comments

Comments
 (0)