За последние 24 часа нас посетили 18834 программиста и 1731 робот. Сейчас ищут 1355 программистов ...

Тайд или кипячение?

Тема в разделе "Прочее", создана пользователем Koc, 29 окт 2008.

  1. Koc

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

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    Mr.M.I.T.
    что предложишь тогда?
     
  2. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    mysqli
    но я бы делал
    $id=mysql_real_escape_string($id);
    mysql_query("SELECT * FROM `table` WHERE id='$id'");

    вообще не понимаю чё дают эти шаблоны...
     
  3. Koc

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

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    а, не, мне так не нравится.
    куда приятней писать так:
    PHP:
    1. <?php
    2. $id = clean($_POST['id']);
    3. $pid = clean($_POST['parent_id']);
    4. ...
    5.     $sql = "UPDATE tt_category SET pid=%d, title=%s, attribute_set=%d WHERE id=%d LIMIT 1";
    6.     $sql = sprintf($sql, $pid, cleanQ($_POST['title']), $asid, $id);
    7.     $db->query($sql);
    8. ...
    9. ?>
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    у меня одна строчка у тебя 3 ;)
     
  5. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    а если ещё и время/ресурсы замерить :)

    в них есть хоть какой-то смысл, если это всё часть mysql обёртки.. в том виде, в котором написал Koc - лично я смысла вообще не вижу

    гугли примерно по: php функции с переменным количеством параметров
    а дальше - да, можно регулярки, можно ещё как хошь.. немного мозгов напрячь, чтоб придумать свой алгоритм - не судьба? или только чужое линейно юзать умеем? надеюсь что нет :)
     
  6. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    вот тут точно замерить не помешает ;)
    ну разве только логическое разделение, а пользы точно нет...
     
  7. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    + сокращение кода

    тут уж на усмотрение писателя функции :)
     
  8. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    какой там сокращение, с mysqli в 3 раза примерно больше
     
  9. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    хде?? :shock:
     
  10. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  11. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    Вот, из мана:
    PHP:
    1. <?php
    2. if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {
    3.     $stmt->bind_param('s', 'Amersfoort');
    4.     $stmt->execute();
    5.     $stmt->bind_result($district);
    6.     $stmt->fetch();
    7.     $stmt->close();
    8. }
    9. ?>
    Уж лучше PDO тогда. :)
     
  12. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    Mr.M.I.T.
    да знаю я..

    если ты про подготовленные выражения и ООП API - то возможно ты прав
    а вот чем тебе mysql_query короче mysqli_query, кроме того, что в первом линк соединения передавать не обязательно?

    если же писать свою обёртку, то например такая конструкция: my_mysql_query("SELECT * FROM `table` WHERE id = %", $id) - будет ни чуть не длиннее.. даже короче.. но чуть медленнее, особенно если обёртка ООП
     
  13. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    но и не удобнее
     
  14. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    чем?
    втыкать кучу mysql_real_escape_string() удобнее?

    +

    в своей обёртке можно использовать любое кэширование, какое придёт в голову, например )) а вот это уже даст доп. скорости ))
     
  15. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    Лучше это сделает СУБД. :)
     
  16. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    да ну :) далеко не всегда )
     
  17. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    1) вообще уже соединение с БД это время
    2) время на запрос, особенно если сервер БД сильно загружен в данный момент
    по твоему идиоты пишут PHP-расширения для кэширования запросов? ))

    если конкретный пример: то данные из memcached будут извлекаться однозначно быстрее, чем из БД. поспоришь? )


    update: или например в одном скрипте производиться один и тот-же запрос (хорошо это или плохо - другой момент), каждый раз будешь трафом с БД-сервером обмениваться?
     
  18. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    это можно сделать и без mysqli
    их и так и так придётся втыкать, просто в моём случае они будут навиду...
    но причём тут sprintf и mysqli?
    конечно может я что-то не знаю, но результаты запросов всёравно придётся кешировать ручками...
     
  19. 1. Иди почитай про connections pool.
    2. prepared statements - о чудо! кешируются на уровне БД.
    А нахрен тебе одинаковые данные из бд извлекать?
     
  20. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    я не знал, что спор идёт про mysqli_* vs mysql_* :)

    если my_mysql_query() из моего примера будет это делать сама - тебе не придётся перед каждым запросом писать mysql_real_escape_string() на каждый параметр запроса :)
     
  21. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    блин, скажите мну что нельзя сделать с таким же успехом без mysqli или sprintf кроме шаблонов запросов?
     
  22. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    QQQ
    Олег тебе уже ответил. :)
     
  23. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    ты лучше скажи, чё ты так к этой i прицепился?
    в чём отличие процедурного подхода mysqli от mysql? )
     
  24. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    в том то и дело, что нахрен не надо
    но не проще ли разбиралово данные уже есть и данных нет, надо запросить перенести на функцию запроса, чтобы одинаковый код не плодить?
     
  25. Можно. Переноси. ;)