@@ -57,9 +57,10 @@ function dbconn($database) {
57
57
/**
58
58
* Führt ein SQL-Query aus
59
59
*
60
- * @version 2.0
60
+ * @version 2.1
61
61
* @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
63
64
*
64
65
* @param $sql string SQL
65
66
* @param $file string Filename
@@ -87,9 +88,11 @@ function query($sql, $file='', $line=0, $funktion='') {
87
88
//$result = mysqli_query($this->conn, $sql); // PHP7.x ready
88
89
$ sql_query_type = strtolower (substr ($ sql ,0 ,6 )); // first 6 chars of $sql = e.g. INSERT or UPDATE
89
90
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 ));
91
93
} 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 ));
93
96
} elseif (!$ result && $ this ->display_error == 1 ) {
94
97
die ($ this ->msg ($ sql ,$ file ,$ line ,$ funktion ));
95
98
} else {
@@ -235,26 +238,30 @@ function tables() {
235
238
}
236
239
237
240
/**
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
245
254
*/
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 ));
248
260
user_error ('Wrong Parameter type ' .$ values .' in db->insert() ' , E_USER_ERROR );
249
261
}
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 );
258
265
}
259
266
260
267
/**
0 commit comments