За последние 24 часа нас посетили 25206 программистов и 1734 робота. Сейчас ищет 921 программист ...

PDO и mysql_real_escape_string

Тема в разделе "PHP и базы данных", создана пользователем nixx, 28 апр 2013.

  1. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Переписал скрипт под PDO синтаксис.Все работает.Вопрос такой остался.Нужно ли использовать также mysql_real_escape_string или есть замена.Подскажите хороший мануал на русском по PDO .
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты вообще понимаешь, что делает mysql_real_escape_string?
     
  3. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    переписать можно поразному. если просто заменили функции то это значит что PDO вы нормально не прикрутили.
    а если заменили полностью принцип работы, используете плейсхолдеры и биндинг - это другое дело. и дополнительно экранировать ничего не нужно. PDO сам все сделает
     
  4. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Если такой запрос
    Код (Text):
    1. $result = $db->query("INSERT INTO comment(name_comment,text_comment,date_comment) VALUES ('$name_comment','$text_comment',now())");
    переписать на такой тип ,то будет безопаснее ?
    Код (Text):
    1. $pattern = 'INSERT INTO `table` VALUES (?, ?, ?)';
    2. $data    = array('Строка', '', null);
    3. $db->query($pattern, $data); // INSERT INTO `table` VALUES("Строка", "", "");
    Как пишете вы?
     
  5. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    нет. похоже доки по pdo вы так и не прочитали.
    Код (PHP):
    1. $stmt = $db->prepare('INSERT INTO `table` VALUES (?, ?, ?)');
    2. $stmt->execute(array('Строка', '', null));
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Вы на мой вопрос ответьте пожалуйста! а то капец, вы тыкаетесь как слепой кот в надежде найти некое универсальное решение, потому что не понимаете что от чего защищает и как и зачем.
     
  7. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Вопрос на вопрос - хороший )) стиль для ответов
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    чуть более опытные люди очень часто проверяют таким образом своих менее продвинутых коллег. вопрос на вопрос обусловлен необходимостью вытянуть понимание обсуждаемого вопроса. если оно чем-либо не соответствует действительности - его будут исправлять. и не исключено, что после получения новых знаний, первоначальный вопрос отпадет сам собой. вот так вот ;)
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тут два ответа: да или нет.
    ты чего стесняешься? тебе пять лет? скажи, я не понимаю, объясните подробнее. чего ломаешься как девочка на утреннике? :D
     
  10. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    C mysql_real_escape_string понятно-экранирует спецсимволы .Может быть я не понятно овопросился.
    Хотелось узнать нужность или ненужность применения mysql_real_escape_string в PDO.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    если ты понимаешь, что делает mysql_real_escape_string, то как у тебя могут оставаться вопросы? =)
    приведи пару примеров и задай вопросы по ним.
     
  12. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Принцип хорошего программирования - краткость,как сестра таланта.Так и с ответами.Если сам не понимаешь,так и не сможешь объяснить другим ...
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты хочешь сказать, что я не понимаю? =)