завтра распишу подробнее
Добавлено через 22 часа 54 минуты
Итак, этот вопрос решился.
Теперь вопрос по PDO.
PHP код:
require_once ($sql);
try {
$db = new PDO('mysql:host='.$hostname.'; dbname='.$name, $username, $password);
$db->query('SET NAMES utf8');
$sth = $db->prepare('SELECT * FROM `items` LIMIT :of, :per_page');
$data = array('of'=>$of, 'per_page'=>$per_page);
$sth->execute($data);
$sth->setFetchMode(PDO::FETCH_ASSOC);
while($array = $sth->fetch()){
var_dump($array);
}
}
catch (PDOException $e) {
echo $e->getMessage();
}
var_dump($array) ничего не возвращает

$of, $per_page, $sql заданы и корректно выводятся через echo.
Добавлено через 19 минут
А вот если подставить
PHP код:
$sth = $db->prepare('SELECT * FROM `items` LIMIT 2');
всё выводится нормально
Добавлено через 17 часов 16 минут
Ну, тут же были поклонники PDO? Никто не пользовался LIMIT? Гугл говорит, что во всём виновата защита от инъекций на новом уровне.
PHP код:
$sth = $db->prepare('SELECT * FROM `items` LIMIT :of, :per_page');
$sth->bindParam(':of', $of, PDO::PARAM_INT);
$sth->bindParam(':per_page', $per_page, PDO::PARAM_INT);
$sth->execute();
Так тоже пробовал - не даёт желаемого результата.