質問編集履歴

1

コードの追加

2017/06/13 08:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,21 +8,85 @@
8
8
 
9
9
 
10
10
 
11
+ <?php
12
+
13
+ //デバッグ(開発)時は必ず記述する
14
+
15
+ ini_set('display_errors', true);
16
+
17
+ error_reporting(E_ALL);
18
+
19
+
20
+
21
+ date_default_timezone_set('Asia/Tokyo');
22
+
23
+
24
+
25
+ $db_host='';
26
+
27
+ $db_name='';
28
+
29
+ $db_user='';
30
+
31
+ $db_pass='';
32
+
33
+ $db_table='';
11
34
 
12
35
 
13
36
 
14
37
 
38
+
15
- "SELECT .... FROM sample WHEREname='".$_GET['name']."' ORDER BY id DESC LIMIT ".($_GET['page']*10).", 10";
39
+ //データベースへ接続する
40
+
41
+ try {
16
42
 
17
43
 
18
44
 
19
- ```
45
+ $pdo = new PDO("mysql:dbname=$db_name;host=$db_host;charset=utf8", $db_user, $db_pass, [
20
46
 
21
- ↓以下に修正したのですがエラーが出てしまいます。
47
+ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
22
48
 
23
- エラー内容:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':name ORDER BY id DESC LIMIT 10, 10' at line 1' in
49
+ ]);
24
50
 
51
+
52
+
53
+
54
+
55
+ } catch (PDOException $e) {
56
+
57
+
58
+
59
+ header('Content-Type: text/plain; charset=UTF-8', true, 500);
60
+
61
+ exit($e->getMessge());
62
+
63
+ }
64
+
65
+
66
+
25
- ```ここに言語を入力
67
+ function h($str)
68
+
69
+ {
70
+
71
+ return htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
72
+
73
+ }
74
+
75
+
76
+
77
+
78
+
79
+ $query = "SELECT .... FROM sample WHERE name=:name ORDER BY id DESC LIMIT ".($_GET['page']*10).", 10";;
80
+
81
+
82
+
83
+ $stmt = $pdo->query($query);
84
+
85
+
86
+
87
+ $rows = $stmt->fetchAll();
88
+
89
+
26
90
 
27
91
  $name = filter_input(INPUT_GET, 'name');
28
92
 
@@ -36,7 +100,37 @@
36
100
 
37
101
 
38
102
 
103
+ ?>
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ ```
112
+
113
+ ↓以下に修正したのですがエラーが出てしまいます。
114
+
115
+ エラー内容:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':name ORDER BY id DESC LIMIT 10, 10' at line 1' in
116
+
117
+ ```ここに言語を入力
118
+
119
+
120
+
39
121
  "SELECT .... FROM sample WHERE name=:name ORDER BY id DESC LIMIT ".($_GET['page']*10).", 10";
122
+
123
+
124
+
125
+ $name = filter_input(INPUT_GET, 'name');
126
+
127
+
128
+
129
+ $arr = [];
130
+
131
+
132
+
133
+ $arr[':name'] = $name;
40
134
 
41
135
 
42
136