@@ -22,8 +22,11 @@ public static function logEvent(
2222 if (!isset (Common::$ database )) {
2323 Common::$ database = DatabaseDriver::getDatabaseObject ();
2424 }
25+
2526 $ successful = false ;
27+
2628 try {
29+
2730 $ stmt = Common::$ database ->prepare ('
2831 INSERT INTO `event_log` (
2932 `event_type_id`, `event_datetime`, `user_id`, `ip_address`,
@@ -32,14 +35,24 @@ public static function logEvent(
3235 :event_type_id, NOW(), :user_id, :ip_address, :meta_data
3336 );
3437 ' );
38+
3539 $ stmt ->bindParam (':event_type_id ' , $ event_type_id , PDO ::PARAM_INT );
36- $ stmt ->bindParam (':user_id ' , $ user_id , PDO ::PARAM_INT );
37- $ stmt ->bindParam (':ip_address ' , $ ip_address , PDO ::PARAM_STR );
38- $ stmt ->bindParam (':meta_data ' , $ meta_data , PDO ::PARAM_STR );
40+
41+ $ t = (is_null ($ user_id ) ? PDO ::PARAM_NULL : PDO ::PARAM_INT );
42+ $ stmt ->bindParam (':user_id ' , $ user_id , $ t );
43+
44+ $ t = (is_null ($ ip_address ) ? PDO ::PARAM_NULL : PDO ::PARAM_STR );
45+ $ stmt ->bindParam (':ip_address ' , $ ip_address , $ t );
46+
47+ $ t = (is_null ($ meta_data ) ? PDO ::PARAM_NULL : PDO ::PARAM_STR );
48+ $ stmt ->bindParam (':meta_data ' , $ meta_data , $ t );
49+
3950 $ successful = $ stmt ->execute ();
4051 $ stmt ->closeCursor ();
52+
4153 } catch (PDOException $ e ) {
4254 throw new QueryException ('Cannot log event ' , $ e );
55+
4356 } finally {
4457 return $ successful ;
4558 }
0 commit comments