回答編集履歴
2
調整
test
CHANGED
@@ -16,6 +16,7 @@
|
|
16
16
|
(10,'kato');
|
17
17
|
|
18
18
|
```
|
19
|
+
結果的には、「sato」→「suzuki」が抽出される
|
19
20
|
|
20
21
|
```PHP
|
21
22
|
$col=2; // colに数値を指定するとcol列目でソートすることになる
|
1
ついき
test
CHANGED
@@ -1 +1,34 @@
|
|
1
1
|
「ORDER BY '.$max.」がおかしいのでなんともならないと思います
|
2
|
+
|
3
|
+
# sample
|
4
|
+
```SQL
|
5
|
+
create table tbl (id int primary key,name varchar(30));
|
6
|
+
insert into tbl values
|
7
|
+
(1,'suzuki'),
|
8
|
+
(2,'sato'),
|
9
|
+
(3,'takahashi'),
|
10
|
+
(4,'tanaka'),
|
11
|
+
(5,'ito'),
|
12
|
+
(6,'watanabe'),
|
13
|
+
(7,'yamamoto'),
|
14
|
+
(8,'nakamura'),
|
15
|
+
(9,'kobayashi'),
|
16
|
+
(10,'kato');
|
17
|
+
|
18
|
+
```
|
19
|
+
|
20
|
+
```PHP
|
21
|
+
$col=2; // colに数値を指定するとcol列目でソートすることになる
|
22
|
+
$name="%s%"; // とりあえず「nameにsを含む」という条件
|
23
|
+
$offset=1; // offset個目のデータから抽出
|
24
|
+
$limit=2; // limit個のデータを抽出
|
25
|
+
$sql = 'SELECT * FROM tbl WHERE name LIKE :name ORDER BY :col Limit :offset,:limit' ;
|
26
|
+
$stmt = $pdo->prepare($sql);
|
27
|
+
$stmt->bindValue('col',$col,PDO::PARAM_INT);
|
28
|
+
$stmt->bindValue('name',$name,PDO::PARAM_STR);
|
29
|
+
$stmt->bindValue('offset',$offset,PDO::PARAM_INT);
|
30
|
+
$stmt->bindValue('limit',$limit,PDO::PARAM_INT);
|
31
|
+
$stmt->execute();
|
32
|
+
$rows=$stmt->fetchAll(PDO::FETCH_ASSOC);
|
33
|
+
print_r($rows);
|
34
|
+
```
|