ФорумПрограммированиеPHP для идиотов → Аналог mysql_real_escape_string в Zend Framework

Аналог mysql_real_escape_string в Zend Framework

  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 18 июня 2010 г. 9:16

    так, начитался мануалов немало, но чето досих пор неуверен…

    когда в фреймворке исполняеться
    ->where("somefield = ?",$realVar);

    … То этот плэйс холдер для предотвращения иньекций, образно говоря и мутит роль mysql_real_escape_string? Я правильно понимаю?
    Или все же та функция относится к Классам-Фильтрам?

  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 18 июня 2010 г. 9:17, спустя 1 минуту 23 секунды

    Да, строка эскейпируется, если я тебя правильно понял =)
    Work, buy, consume, die
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 18 июня 2010 г. 12:46, спустя 3 часа 28 минут 28 секунд

    Rotten, а ты попробуй туда вписать кавычку а потом посмотри
    echo $select->__toString();
    exit;
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 18 июня 2010 г. 12:47, спустя 1 минуту 39 секунд

    Костян, `__toString` - лишний, при echo он автоматом произведется.

    А ваще Zend'овские плейсхолдеры неюзабельны
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 18 июня 2010 г. 13:01, спустя 13 минут 12 секунд

    а, ну да…

    не зенд фреймворковские, а родные ))
    ну на обычных проектах, так скажем, они вполне катят, а на больших и сложных, надо вообще все запросы руками писать….
  • excalibur

    Сообщения: 1 Репутация: N Группа: Кто попало

    Spritz 9 октября 2010 г. 23:55, спустя 113 дней 10 часов 54 минуты

    Как Вы эскейпируете данные, если для сохранения в функцию передается массив данных:

    public function saveItem($data)
    {
    $data['created'] = date('Y-m-d H:i:s');

    return $this->insert($data);
    }


    ? Как вариант можно добавлять addslashes к каждому значению, которое в массиве $data. Есть другие варианты?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 10 октября 2010 г. 0:09, спустя 14 минут 10 секунд

    addslashes

    mysql_real_escape_string советуется использовать, а не этот костыль
    Сапожник без сапог
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 10 октября 2010 г. 0:12, спустя 2 минуты 48 секунд

    excalibur,

    $data = array(…);
    $data = array_map('mysql_real_escape_string', $data);
    $this->insert($data);
    не всё полезно, что в swap полезло
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 10 октября 2010 г. 9:14, спустя 9 часов 2 минуты 26 секунд

    вы че, ебанулись использовать нативные mysql-функции когда у вас Zend_Db?

    http://framework.zend.com/manual/ru/zend.db.adapter.html
    метод quote смотри

Пожалуйста, авторизуйтесь, чтобы написать комментарий!