ФорумРазработкаБазы данных → Кавычки в запросе

Кавычки в запросе

  • vasa_c

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

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

    Spritz 24 февраля 2011 г. 10:48, спустя 52 минуты 59 секунд

    vasa_c, слишком дофига разных плейсхолдеров
    что касается ?e - что если потребуется найти строку
    WHERE field LIKE '1_5'
    ?
    не всё полезно, что в swap полезло
  • vasa_c

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

    Spritz 24 февраля 2011 г. 11:49, спустя 1 час 1 минуту 27 секунд

    vasa_c, слишком дофига разных плейсхолдеров

    мне хватает :)

    $db->query('SELECT * FROM `table` WHERE `field` LIKE ?', array($search), 'assoc');

    или, соответственно:
    $db->query('SELECT * FROM `table` WHERE `field` LIKE "?e"', array($search), 'assoc');
  • master

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

    Spritz 24 февраля 2011 г. 12:41, спустя 51 минуту 49 секунд

    $db->query('SELECT * FROM `table` WHERE `field` LIKE "?e"', array($search), 'assoc');

    каким должен быть $search чтобы получилось LIKE '1_5' ?
    что за третий параметр? в примерах нет
    не всё полезно, что в swap полезло
  • Абырвалг

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

    Spritz 24 февраля 2011 г. 13:47, спустя 1 час 5 минут 41 секунду

    3 - как разбирать результат


    насколько я понимаю - ты сам должен экранировать через addcslashes %, _
  • vasa_c

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

    Spritz 24 февраля 2011 г. 15:49, спустя 2 часа 2 минуты 24 секунды

    каким должен быть $search чтобы получилось LIKE '1_5' ?

    Очевидно "1_5".

    что за третий параметр? в примерах нет

    http://pyha.ru/go/godb/fetch/
  • master

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

    Spritz 24 февраля 2011 г. 15:56, спустя 7 минут 6 секунд

    vasa_c, ок, усложним задачу.
    нужно найти по маске
    LIKE '1_5\%'

    т.е.
    105%
    115%
    125%

    и т.д.

    есть варианты как это сделать?
    Спустя 55 сек.
    насколько я понимаю - ты сам должен экранировать через addcslashes %, _

    их надо экранировать если они должны строго совпадать а не быть частью маски
    не всё полезно, что в swap полезло
  • Givi

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

    Spritz 24 февраля 2011 г. 16:40, спустя 43 минуты 31 секунду

    master, ну если уж такой пиздец попадется в 1 из 1000 случаев, то ебани чистый запрос и не мучайся :)
  • vasa_c

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

    Spritz 25 февраля 2011 г. 5:26, спустя 12 часов 46 минут 5 секунд

    $mask = '1_5\%';
    $db->query('SELECT * FROM `table` WHERE `field` LIKE "?q"', array($mask));
    // либо:
    $db->query('SELECT * FROM `table` WHERE `field` LIKE "?query;"', array($mask));

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