回答編集履歴

1

追記

2018/04/05 03:49

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -5,3 +5,47 @@
5
5
  そのままではエラーになるでしょうし最低でも同じSQLのセッションで
6
6
 
7
7
  処理はされないと思いますが
8
+
9
+
10
+
11
+ # 追記
12
+
13
+ 見る限り問題なさそうです
14
+
15
+ ```PHP
16
+
17
+ $name="hoge";
18
+
19
+ print_r(array(sprintf('%%%s%%', addcslashes($name, '\_%'))));
20
+
21
+ //出力:Array ( [0] => %hoge% )
22
+
23
+ ```
24
+
25
+
26
+
27
+ 一つは
28
+
29
+ ```PHP
30
+
31
+ $stmt = $dbh->prepare($sql );
32
+
33
+ stmt->execute(["%hoge%"]);
34
+
35
+ ````
36
+
37
+ のようにスタティックに値をいれて検証してみること
38
+
39
+
40
+
41
+ それでもだめなら
42
+
43
+ ```PHP
44
+
45
+ $sql="SELECT * FROM ... WHERE NAME LIKE '%hoge%'";
46
+
47
+ $stmt = $dbh->query($sql );
48
+
49
+ ```
50
+
51
+ で、検証してみることです。