「ORDER BY '.$max.」がおかしいのでなんともならないと思います
sample
SQL
1create table tbl (id int primary key,name varchar(30));
2insert into tbl values
3(1,'suzuki'),
4(2,'sato'),
5(3,'takahashi'),
6(4,'tanaka'),
7(5,'ito'),
8(6,'watanabe'),
9(7,'yamamoto'),
10(8,'nakamura'),
11(9,'kobayashi'),
12(10,'kato');
13
結果的には、「sato」→「suzuki」が抽出される
PHP
1$col=2; // colに数値を指定するとcol列目でソートすることになる
2$name="%s%"; // とりあえず「nameにsを含む」という条件
3$offset=1; // offset個目のデータから抽出
4$limit=2; // limit個のデータを抽出
5$sql = 'SELECT * FROM tbl WHERE name LIKE :name ORDER BY :col Limit :offset,:limit' ;
6$stmt = $pdo->prepare($sql);
7$stmt->bindValue('col',$col,PDO::PARAM_INT);
8$stmt->bindValue('name',$name,PDO::PARAM_STR);
9$stmt->bindValue('offset',$offset,PDO::PARAM_INT);
10$stmt->bindValue('limit',$limit,PDO::PARAM_INT);
11$stmt->execute();
12$rows=$stmt->fetchAll(PDO::FETCH_ASSOC);
13print_r($rows);