OSDN Git Service

[modify]完全一致の時はLIKEではなく=で比較
authorHabu <habu@users.sourceforge.jp>
Tue, 27 Mar 2018 11:52:13 +0000 (20:52 +0900)
committerHabu <habu@users.sourceforge.jp>
Tue, 27 Mar 2018 11:52:13 +0000 (20:52 +0900)
LIKE句を使用するとインデックスが効かないので=で比較できる完全一致条件のときは=で
比較したほうがよい

score/db_common.inc

index d454410..ed4ca8b 100644 (file)
@@ -96,7 +96,7 @@ class ScoreDB
             $val = filter_input(INPUT_GET, $key_column);
             $match_mode = filter_input(INPUT_GET, $key_column."_match");
             if ($val !== NULL && strlen($val) > 0) {
-                $wheres[] = "{$key_column} LIKE :{$key_column}";
+                $wheres[] = ($match_mode == "strict") ? "{$key_column} = :{$key_column}" : "{$key_column} LIKE :{$key_column}";
                 $params[":{$key_column}"] = ($match_mode == "strict") ? $val : "%".$val."%";
             }
         }