GrassSs G GrassSs Регистрация 23 Июл 2013 Сообщения 80 Репутация 1 Спасибо 0 Монет 0 12 Окт 2016 #1 Помогите исправить код, чтобы исчезла данная строка на сайте: 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:ARAM_INT ); if ( $categoryId ) $st->bindValue( ":categoryId", $categoryId, PDO:ARAM_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] ) ); }
Помогите исправить код, чтобы исчезла данная строка на сайте: 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:ARAM_INT ); if ( $categoryId ) $st->bindValue( ":categoryId", $categoryId, PDO:ARAM_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] ) ); }
balamar B balamar Регистрация 16 Июн 2013 Сообщения 97 Репутация 0 Спасибо 1 Монет 0 12 Окт 2016 #2 Эпический говнокод. За такое нужно руки отрубать. Использовать PDO и устаревший метод для устаревшего драйвера. У PDO, есть метод quote. Нахрена вообще использовать эту функцию, если там ничего экранировать не надо? Позитивный голос 0
Эпический говнокод. За такое нужно руки отрубать. Использовать PDO и устаревший метод для устаревшего драйвера. У PDO, есть метод quote. Нахрена вообще использовать эту функцию, если там ничего экранировать не надо?