質問編集履歴
5
エラー内容です
title
CHANGED
File without changes
|
body
CHANGED
@@ -293,4 +293,18 @@
|
|
293
293
|
<p><input type="submit" value="検索"></p>
|
294
294
|
</form>
|
295
295
|
|
296
|
+
```エラー内容
|
297
|
+
Fatal error: Uncaught Error: Call to undefined function bindValue() in /Applications/MAMP/htdocs/size.php:79 Stack trace: #0 {main} thrown in /Applications/MAMP/htdocs/size.php on line 79
|
298
|
+
とかいてありましたが解決方法が判りません。
|
299
|
+
79行目が```php
|
300
|
+
else {
|
301
|
+
$sql2="SELECT * FROM db2 WHERE wide = :wide AND height = :height";
|
302
|
+
$stmt=$pdo->prepare($sql2);
|
303
|
+
//ここが79行目でした $stmt=bindValue(':wide', $wide);
|
304
|
+
$stmt=bindValue(':height',$height);
|
305
|
+
$stmt->execute();
|
306
|
+
$count=$stmt->rowCount();
|
307
|
+
print "ヒット件数".$count."件です。";
|
308
|
+
echo "</br>";
|
309
|
+
}
|
296
310
|
```
|
4
htmlの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -280,7 +280,7 @@
|
|
280
280
|
<option value="広い">広い</option>
|
281
281
|
</select>
|
282
282
|
|
283
|
-
<h2>
|
283
|
+
<h2>高さ</h2>
|
284
284
|
<select name="height">
|
285
285
|
<option value="未選択">選択して下さい</option>
|
286
286
|
<option value="低い">低い</option>
|
3
htmlのセレクトボックスの部分を追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -266,4 +266,31 @@
|
|
266
266
|
|
267
267
|
|
268
268
|
```
|
269
|
-
エラー表示を入れましたが何も変わりませんでした
|
269
|
+
エラー表示を入れましたが何も変わりませんでした
|
270
|
+
```html
|
271
|
+
|
272
|
+
<form action="◯.php" method="POST">
|
273
|
+
<p>
|
274
|
+
<select name="wide">
|
275
|
+
<option value="未選択">選択して下さい</option>
|
276
|
+
<option value="狭い">狭い</option>
|
277
|
+
<option value="やや狭い">やや狭い</option>
|
278
|
+
<option value="標準">標準</option>
|
279
|
+
<option value="やや広い">やや広い</option>
|
280
|
+
<option value="広い">広い</option>
|
281
|
+
</select>
|
282
|
+
|
283
|
+
<h2>甲の高さ</h2>
|
284
|
+
<select name="height">
|
285
|
+
<option value="未選択">選択して下さい</option>
|
286
|
+
<option value="低い">低い</option>
|
287
|
+
<option value="やや低い">やや低い</option>
|
288
|
+
<option value="標準">標準</option>
|
289
|
+
<option value="やや高い">やや高い</option>
|
290
|
+
<option value="やや高い">やや高い</option>
|
291
|
+
</select>
|
292
|
+
</p>
|
293
|
+
<p><input type="submit" value="検索"></p>
|
294
|
+
</form>
|
295
|
+
|
296
|
+
```
|
2
エラーを入れました
title
CHANGED
File without changes
|
body
CHANGED
@@ -174,4 +174,96 @@
|
|
174
174
|
```
|
175
175
|
という感じでcatchをtryの後に持って来るとプログラムは処理されますがforeach文の部分が反応しません。
|
176
176
|
ご迷惑をかけて申し訳ありませんでした。
|
177
|
-
宜しくお願いいたします。
|
177
|
+
宜しくお願いいたします。
|
178
|
+
```php
|
179
|
+
<?php
|
180
|
+
try{
|
181
|
+
$pdo = new PDO('mysql:host=localhost;dbname=db2;charset=utf8','◯','◯',
|
182
|
+
array(PDO::ATTR_EMULATE_PREPARES => false));
|
183
|
+
|
184
|
+
$wide=$_POST['wide'];
|
185
|
+
$height=$_POST['height'];
|
186
|
+
echo "</br>";
|
187
|
+
echo "入力内容";
|
188
|
+
echo "</br>";
|
189
|
+
echo "幅:";
|
190
|
+
echo $wide;
|
191
|
+
echo "</br>";
|
192
|
+
echo "高さ:";
|
193
|
+
echo $height;
|
194
|
+
echo "</br>";
|
195
|
+
|
196
|
+
|
197
|
+
//db検索
|
198
|
+
if( $wide == '未選択' && $height == '未選択' ){
|
199
|
+
//両方未選択
|
200
|
+
echo '両方未選択でした。';
|
201
|
+
$sql2="SELECT * FROM db2";
|
202
|
+
$stmt=$pdo->prepare($sql2);
|
203
|
+
$stmt=bindValue(':wide',$wide);
|
204
|
+
$stmt=bindValue(':height',$height);
|
205
|
+
$stmt->execute();
|
206
|
+
$count=$stmt->rowCount();
|
207
|
+
print "ヒット件数".$count."件です。";
|
208
|
+
echo "</br>";
|
209
|
+
}
|
210
|
+
else if( $wide == "未選択" ){
|
211
|
+
$sql2="SELECT * FROM db2 WHERE height = :height";
|
212
|
+
$stmt=$pdo->prepare($sql2);
|
213
|
+
$stmt=bindValue(':height', $height);
|
214
|
+
$stmt->execute();
|
215
|
+
$count=$stmt->rowCount();
|
216
|
+
print "ヒット件数".$count."件です。";
|
217
|
+
echo "</br>";
|
218
|
+
}
|
219
|
+
|
220
|
+
else if( $height =='未選択'){
|
221
|
+
$sql2="SELECT * FROM db2 WHERE wide = :wide";
|
222
|
+
$stmt=$pdo->prepare($sql2);
|
223
|
+
$stmt=bindValue(':wide', $wide);
|
224
|
+
$stmt->execute();
|
225
|
+
$count=$stmt->rowCount();
|
226
|
+
print "ヒット件数".$count."件です。";
|
227
|
+
echo "</br>";
|
228
|
+
}
|
229
|
+
|
230
|
+
|
231
|
+
else {
|
232
|
+
$sql2="SELECT * FROM db2 WHERE wide = :wide AND height = :height";
|
233
|
+
$stmt=$pdo->prepare($sql2);
|
234
|
+
$stmt=bindValue(':wide',$wide);
|
235
|
+
$stmt=bindValue(':height',$height);
|
236
|
+
$stmt->execute();
|
237
|
+
$count=$stmt->rowCount();
|
238
|
+
print "ヒット件数".$count."件です。";
|
239
|
+
echo "</br>";
|
240
|
+
|
241
|
+
// catchをこの部分に持って来ます。
|
242
|
+
}catch (PDOException $e) {
|
243
|
+
//ここにエラー表示を持って来ました
|
244
|
+
ini_set('display_errors', "On");
|
245
|
+
var_dump($e);
|
246
|
+
exit('データベース接続失敗。'.$e->getMessage());
|
247
|
+
}
|
248
|
+
}
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
//絞り込んだ情報を表示します
|
253
|
+
<?php
|
254
|
+
foreach($stmt as $row):
|
255
|
+
?>
|
256
|
+
<img src="<?php echo $row['pic'] ?>">
|
257
|
+
<?php
|
258
|
+
echo $row['brand'].' '.$row['name'].'価格:'.$row['price'];
|
259
|
+
?>
|
260
|
+
<a href="<?php $row['url'] ?>">yahoo ショッピングでみる</a>
|
261
|
+
<a href="<?php $row['url'] ?>">楽天市場でみる</a>
|
262
|
+
<?php endforeach ?>
|
263
|
+
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
```
|
269
|
+
エラー表示を入れましたが何も変わりませんでした
|
1
書き直しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,19 +1,71 @@
|
|
1
1
|
phpからmySQLのデータを2つの条件で絞り込み、表示したいのですがうまく行きません
|
2
2
|
|
3
3
|
```php
|
4
|
-
<?php
|
4
|
+
<?php
|
5
5
|
try{
|
6
|
-
$pdo = new PDO('mysql:host=localhost;dbname=db2;charset=utf8','
|
6
|
+
$pdo = new PDO('mysql:host=localhost;dbname=db2;charset=utf8','root','root',
|
7
7
|
array(PDO::ATTR_EMULATE_PREPARES => false));
|
8
8
|
|
9
|
+
$wide=$_POST['wide'];
|
10
|
+
$height=$_POST['height'];
|
11
|
+
echo "</br>";
|
12
|
+
echo "入力内容";
|
13
|
+
echo "</br>";
|
14
|
+
echo "幅:";
|
15
|
+
echo $wide;
|
16
|
+
echo "</br>";
|
17
|
+
echo "高さ:";
|
18
|
+
echo $height;
|
19
|
+
echo "</br>";
|
20
|
+
|
21
|
+
|
22
|
+
//db検索
|
23
|
+
if( $wide == '未選択' && $height == '未選択' ){
|
9
|
-
|
24
|
+
//両方未選択
|
10
|
-
|
25
|
+
echo '両方未選択でした。';
|
26
|
+
$sql2="SELECT * FROM db2";
|
27
|
+
$stmt=$pdo->prepare($sql2);
|
28
|
+
$stmt=bindValue(':wide',$wide);
|
29
|
+
$stmt=bindValue(':height',$height);
|
30
|
+
$stmt->execute();
|
31
|
+
$count=$stmt->rowCount();
|
32
|
+
print "ヒット件数".$count."件です。";
|
33
|
+
echo "</br>";
|
34
|
+
}
|
35
|
+
else if( $wide == "未選択" ){
|
36
|
+
$sql2="SELECT * FROM db2 WHERE height = :height";
|
37
|
+
$stmt=$pdo->prepare($sql2);
|
38
|
+
$stmt=bindValue(':height', $height);
|
39
|
+
$stmt->execute();
|
40
|
+
$count=$stmt->rowCount();
|
41
|
+
print "ヒット件数".$count."件です。";
|
42
|
+
echo "</br>";
|
43
|
+
}
|
44
|
+
|
45
|
+
else if( $height =='未選択'){
|
46
|
+
$sql2="SELECT * FROM db2 WHERE wide = :wide";
|
47
|
+
$stmt=$pdo->prepare($sql2);
|
48
|
+
$stmt=bindValue(':wide', $wide);
|
49
|
+
$stmt->execute();
|
50
|
+
$count=$stmt->rowCount();
|
51
|
+
print "ヒット件数".$count."件です。";
|
52
|
+
echo "</br>";
|
53
|
+
}
|
54
|
+
|
55
|
+
|
56
|
+
else {
|
57
|
+
$sql2="SELECT * FROM db2 WHERE wide = :wide AND height = :height";
|
58
|
+
$stmt=$pdo->prepare($sql2);
|
59
|
+
$stmt=bindValue(':wide',$wide);
|
60
|
+
$stmt=bindValue(':height',$height);
|
61
|
+
$stmt->execute();
|
62
|
+
$count=$stmt->rowCount();
|
63
|
+
print "ヒット件数".$count."件です。";
|
64
|
+
echo "</br>";
|
65
|
+
}
|
11
66
|
}
|
12
|
-
}
|
13
|
-
|
14
|
-
|
15
|
-
|
67
|
+
?>
|
16
|
-
|
68
|
+
<?php
|
17
69
|
foreach($stmt as $row):
|
18
70
|
?>
|
19
71
|
<img src="<?php echo $row['pic'] ?>">
|
@@ -24,13 +76,11 @@
|
|
24
76
|
<a href="<?php $row['url'] ?>">楽天市場でみる</a>
|
25
77
|
<?php endforeach ?>
|
26
78
|
|
27
|
-
//この部分
|
28
|
-
|
79
|
+
<?php catch (PDOException $e) {
|
29
80
|
var_dump($e);
|
30
81
|
exit('データベース接続失敗。'.$e->getMessage());
|
31
82
|
}
|
32
83
|
?>
|
33
|
-
|
34
84
|
```
|
35
85
|
というようにすると表示ができません。(画面が真っ白)ですが、
|
36
86
|
```php
|
@@ -39,8 +89,63 @@
|
|
39
89
|
$pdo = new PDO('mysql:host=localhost;dbname=db2;charset=utf8','◯','◯',
|
40
90
|
array(PDO::ATTR_EMULATE_PREPARES => false));
|
41
91
|
|
92
|
+
$wide=$_POST['wide'];
|
93
|
+
$height=$_POST['height'];
|
94
|
+
echo "</br>";
|
95
|
+
echo "入力内容";
|
96
|
+
echo "</br>";
|
97
|
+
echo "幅:";
|
98
|
+
echo $wide;
|
99
|
+
echo "</br>";
|
100
|
+
echo "高さ:";
|
101
|
+
echo $height;
|
102
|
+
echo "</br>";
|
103
|
+
|
104
|
+
|
105
|
+
//db検索
|
106
|
+
if( $wide == '未選択' && $height == '未選択' ){
|
42
|
-
|
107
|
+
//両方未選択
|
43
|
-
|
108
|
+
echo '両方未選択でした。';
|
109
|
+
$sql2="SELECT * FROM db2";
|
110
|
+
$stmt=$pdo->prepare($sql2);
|
111
|
+
$stmt=bindValue(':wide',$wide);
|
112
|
+
$stmt=bindValue(':height',$height);
|
113
|
+
$stmt->execute();
|
114
|
+
$count=$stmt->rowCount();
|
115
|
+
print "ヒット件数".$count."件です。";
|
116
|
+
echo "</br>";
|
117
|
+
}
|
118
|
+
else if( $wide == "未選択" ){
|
119
|
+
$sql2="SELECT * FROM db2 WHERE height = :height";
|
120
|
+
$stmt=$pdo->prepare($sql2);
|
121
|
+
$stmt=bindValue(':height', $height);
|
122
|
+
$stmt->execute();
|
123
|
+
$count=$stmt->rowCount();
|
124
|
+
print "ヒット件数".$count."件です。";
|
125
|
+
echo "</br>";
|
126
|
+
}
|
127
|
+
|
128
|
+
else if( $height =='未選択'){
|
129
|
+
$sql2="SELECT * FROM db2 WHERE wide = :wide";
|
130
|
+
$stmt=$pdo->prepare($sql2);
|
131
|
+
$stmt=bindValue(':wide', $wide);
|
132
|
+
$stmt->execute();
|
133
|
+
$count=$stmt->rowCount();
|
134
|
+
print "ヒット件数".$count."件です。";
|
135
|
+
echo "</br>";
|
136
|
+
}
|
137
|
+
|
138
|
+
|
139
|
+
else {
|
140
|
+
$sql2="SELECT * FROM db2 WHERE wide = :wide AND height = :height";
|
141
|
+
$stmt=$pdo->prepare($sql2);
|
142
|
+
$stmt=bindValue(':wide',$wide);
|
143
|
+
$stmt=bindValue(':height',$height);
|
144
|
+
$stmt->execute();
|
145
|
+
$count=$stmt->rowCount();
|
146
|
+
print "ヒット件数".$count."件です。";
|
147
|
+
echo "</br>";
|
148
|
+
|
44
149
|
// catchをこの部分に持って来ます。
|
45
150
|
}catch (PDOException $e) {
|
46
151
|
var_dump($e);
|
@@ -67,4 +172,6 @@
|
|
67
172
|
|
68
173
|
|
69
174
|
```
|
70
|
-
という感じでcatchをtryの後に持って来るとプログラムは処理されますがforeach文の部分が反応しません。
|
175
|
+
という感じでcatchをtryの後に持って来るとプログラムは処理されますがforeach文の部分が反応しません。
|
176
|
+
ご迷惑をかけて申し訳ありませんでした。
|
177
|
+
宜しくお願いいたします。
|