teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

調整

2018/04/02 13:03

投稿

yambejp
yambejp

スコア117946

answer CHANGED
@@ -23,7 +23,7 @@
23
23
 
24
24
  # 疑問符パラメータ
25
25
  一応、プログラム処理がらくな疑問符パラメータの例
26
- カラム名の指定がおかしかったのかも・・
26
+ カラム名の指定がおかしかったので調整
27
27
  ```
28
28
  try{
29
29
  $pdo = new PDO($dsn, $user,$password);

2

調整

2018/04/02 13:03

投稿

yambejp
yambejp

スコア117946

answer CHANGED
@@ -23,6 +23,7 @@
23
23
 
24
24
  # 疑問符パラメータ
25
25
  一応、プログラム処理がらくな疑問符パラメータの例
26
+ カラム名の指定がおかしかったのかも・・
26
27
  ```
27
28
  try{
28
29
  $pdo = new PDO($dsn, $user,$password);
@@ -31,9 +32,9 @@
31
32
  $keyword=filter_input(INPUT_POST,'keyword');
32
33
  $data=[];
33
34
  if(!is_null($keyword)){
34
- $query.="OR $sample_nm LIKE ? ";
35
+ $query.="OR sample_nm LIKE ? ";
35
36
  $data[]=$keyword;
36
- $query.="OR $sample_body LIKE ? ";
37
+ $query.="OR sample_body LIKE ? ";
37
38
  $data[]=$keyword;
38
39
  }
39
40
  $query.="ORDER by id DESC ";

1

追記

2018/04/02 13:02

投稿

yambejp
yambejp

スコア117946

answer CHANGED
@@ -18,4 +18,31 @@
18
18
 
19
19
  ちなみにLIKEで処理していますが、ワイルドカードはユーザーに付けさせる
20
20
  のでしょうか?完全一致ではない検索については、仕様をよく検討
21
- されたほうがいいでしょう。
21
+ されたほうがいいでしょう。
22
+
23
+
24
+ # 疑問符パラメータ
25
+ 一応、プログラム処理がらくな疑問符パラメータの例
26
+ ```
27
+ try{
28
+ $pdo = new PDO($dsn, $user,$password);
29
+ $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
30
+ $query = "SELECT * FROM sample_tb WHERE 0 ";
31
+ $keyword=filter_input(INPUT_POST,'keyword');
32
+ $data=[];
33
+ if(!is_null($keyword)){
34
+ $query.="OR $sample_nm LIKE ? ";
35
+ $data[]=$keyword;
36
+ $query.="OR $sample_body LIKE ? ";
37
+ $data[]=$keyword;
38
+ }
39
+ $query.="ORDER by id DESC ";
40
+ $stmt = $pdo->prepare($query);
41
+ $stmt->execute($data);
42
+ $rows = $stmt->fetchAll();
43
+ print_r($rows);
44
+ }catch(PDOException $e){
45
+ die($e->getMessage());
46
+ }
47
+
48
+ ```