回答編集履歴
2
最小値条件
answer
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
もしプレースホルダで書くなら
|
19
19
|
|
20
20
|
```php
|
21
|
-
$page = (int)filter_input(INPUT_GET, 'page');
|
21
|
+
$page = max(0, (int)filter_input(INPUT_GET, 'page'));
|
22
22
|
$start = $page * 5;
|
23
23
|
$sql = "SELECT pref,city FROM user_data WHERE 1 ORDER BY id DESC LIMIT ?,5";
|
24
24
|
$stmt = $pdo->prepare($sql);
|
@@ -26,4 +26,4 @@
|
|
26
26
|
$stmt->execute();
|
27
27
|
```
|
28
28
|
|
29
|
-
となります.
|
29
|
+
となります.(念のため負の数は0になおしています)
|
1
用語
answer
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
sprintf("... LIMIT %d, 5", $start)
|
5
5
|
```
|
6
6
|
|
7
|
-
これは`%d`の位置に整数キャストして`$start`を当てはめる
|
7
|
+
これは`%d`の位置に整数キャストして`$start`を当てはめる使い方をしています.[sprintf](http://php.net/manual/ja/function.sprintf.php)のマニュアルを読めば
|
8
8
|
|
9
9
|
```php
|
10
10
|
sprintf("... LIMIT %d,$start, 5")
|
@@ -24,4 +24,6 @@
|
|
24
24
|
$stmt = $pdo->prepare($sql);
|
25
25
|
$stmt->bindValue(1, $start, PDO::PARAM_INT);
|
26
26
|
$stmt->execute();
|
27
|
-
```
|
27
|
+
```
|
28
|
+
|
29
|
+
となります.
|