Вопрос Помочь исправить код PHP

Регистрация
23 Июл 2013
Сообщения
77
Репутация
1
Спасибо
0
Монет
0
Помогите исправить код, чтобы исчезла данная строка на сайте:

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in C:OpenServerdomains****.php on line 113

Сам код:

public static function getList( $numRows=1000000, $categoryId=null, $order="publicationDate DESC" ) {
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$categoryClause = $categoryId ? "WHERE categoryId = :categoryId" : "";
$sql = "SELECT SQL_CALC_FOUND_ROWS *, UNIX_TIMESTAMP(publicationDate) AS publicationDate FROM articles
ORDER BY " . mysql_escape_string($order) . " LIMIT :numRows";

$st = $conn->prepare( $sql );
$st->bindValue( ":numRows", $numRows, PDO::pARAM_INT );
if ( $categoryId ) $st->bindValue( ":categoryId", $categoryId, PDO::pARAM_INT );
$st->execute();
$list = array();

while ( $row = $st->fetch() ) {
$article = new Article( $row );
$list[] = $article;
}

// Получаем общее количество статей, которые соответствуют критерию
$sql = "SELECT FOUND_ROWS() AS totalRows";
$totalRows = $conn->query( $sql )->fetch();
$conn = null;
return ( array ( "results" => $list, "totalRows" => $totalRows[0] ) );
}
 
Эпический говнокод. За такое нужно руки отрубать. Использовать PDO и устаревший метод для устаревшего драйвера. У PDO, есть метод quote. Нахрена вообще использовать эту функцию, если там ничего экранировать не надо?
 
Назад
Сверху