@@ -797,6 +797,9 @@ private function get($query, $db = null)
797797 // bind WHERE values
798798 if (!empty ($ where_values ) && count ($ where_values ) > 0 ) {
799799 foreach ($ where_values as $ key => $ value ) {
800+ if (is_string ($ value ) && strtolower ($ value ) === 'null ' ) {
801+ $ value = null ;
802+ }
800803 $ type = self ::detectPDOType ($ value );
801804 $ key = ': ' . $ key ;
802805 $ sql_compiled = preg_replace ('/( ' . preg_quote ($ key , '/ ' ) . ")([,]|\s|$|\))/i " , "' " . $ value . "'$2 " , $ sql_compiled );
@@ -807,6 +810,9 @@ private function get($query, $db = null)
807810 // bind JOIN values
808811 if (!empty ($ join_values ) && count ($ join_values ) > 0 ) {
809812 foreach ($ join_values as $ key => $ value ) {
813+ if (is_string ($ value ) && strtolower ($ value ) === 'null ' ) {
814+ $ value = null ;
815+ }
810816 $ type = self ::detectPDOType ($ value );
811817 $ key = ': ' . $ key ;
812818 $ sql_compiled = preg_replace ('/( ' . preg_quote ($ key , '/ ' ) . ")([,]|\s|$|\))/i " , "' " . $ value . "'$2 " , $ sql_compiled );
@@ -1067,9 +1073,13 @@ private function patch($query, $db = null)
10671073 // bind WHERE values
10681074 if (!empty ($ where_values ) && count ($ where_values ) > 0 ) {
10691075 foreach ($ where_values as $ key => $ value ) {
1076+ if (is_string ($ value ) && strtolower ($ value ) === 'null ' ) {
1077+ $ value = null ;
1078+ }
1079+ $ type = self ::detectPDOType ($ value );
10701080 $ key = ': ' . $ key ;
10711081 $ sql_compiled = self ::debugCompileSQL ($ sql_compiled , $ key , $ value );
1072- $ sth ->bindValue ($ key , $ value );
1082+ $ sth ->bindValue ($ key , $ value, $ type );
10731083 }
10741084 }
10751085
0 commit comments