ФорумРазработкаБазы данных → goDB vs DudeSql

goDB vs DudeSql

  • phpdude

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

    Spritz 11 июня 2009 г. 16:48, спустя 36 секунд

    имхо код значительно читабельнее становится чем плейнскл. + никогда не забудешь mysql_real_escape_string!! что есть самое важное имхо
    Сапожник без сапог
  • adw0rd

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

    Spritz 11 июня 2009 г. 16:53, спустя 5 минут 11 секунд

    phpdude, в goDB тоже не забудешь… про escape
    adw/0
  • adw0rd

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

    Spritz 11 июня 2009 г. 16:56, спустя 2 минуты 36 секунд

    $sql = dudesql::create("users") = select * from users.

    а когда insert, то тоже create?

    $sql->id = 10; = select * from users where id=10

    а если инсерт, то это VALUES?

    $sql->username = "dude" = select * from users where id=10 and username='dude'

    А при update что? WHERE или SET?

    $sql->mask(dudesql_mask_where,"? or ?"); = тогда все присвоеные поля подставляются в маску и получаем select * from users where id=10 OR username='dude'

    кроме "dudesql_mask_where" что еще есть?
    adw/0
  • phpdude

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

    Spritz 11 июня 2009 г. 16:58, спустя 2 минуты 36 секунд

    <?php
    define("SQL_FUNC_COUNT","COUNT");
    define("SQL_FUNC_SUBSTR","SUBSTR");

    define("SQL_WHERE_IN","IN");
    define("SQL_WHERE_IN_DUDESQL","DUDESQL");
    define("SQL_WHERE_LIKE","LIKE");
    define("SQL_WHERE_BETWEEN","BETWEEN");

    define("SQL_MASK_WHERE","where");
    define("SQL_MASK_COLUMNS","columns");
    define("SQL_MASK_ORDER","order");
    вот такие штуки есть
    Сапожник без сапог
  • phpdude

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

    Spritz 11 июня 2009 г. 17:02, спустя 3 минуты 10 секунд

    $sql = DudeSql::create(DUDESQL_COMMAND_INSERT,"users");

    $sql->login = "dude";
    $sql->password = md5("qwerty");
    $sql->regtime = time();

    $sql->build(); //insert into `users`(`login`,`password`,`regtime`) values ('dude','0-9a-f','int11')

    ну и можно

    $sql = DudeSql::create(DUDESQL_COMMAND_INSERT,"users");

    $sql->login = "dude";
    $sql->password = md5("qwerty");
    $sql->regtime = time();

    $sql->next();
    $sql->login = "adword";
    $sql->password = md5("byaka :D");
    $sql->regtime = time();


    $sql->build(); //insert into `users`(`login`,`password`,`regtime`) values ('dude','0-9a-f','int11'), ('adword', ….)


    имхо удобно, тебе так не кажется?
    Сапожник без сапог
  • phpdude

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

    Spritz 11 июня 2009 г. 17:02, спустя 49 секунд

    update я еще не сделал, но там просто его сделать :) доделаю когда блог приведу в порядок. за дизайн договариваюсь + буду документацию прямо на сайте вести и тп
    Сапожник без сапог
  • adw0rd

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

    Spritz 11 июня 2009 г. 17:04, спустя 1 минуту 41 секунду


    $sql = DudeSql::create(DUDESQL_COMMAND_INSERT,"users");

    $sql->login = "dude";
    $sql->password = md5("qwerty");
    $sql->regtime = time();

    $sql->build(); //insert into `users`(`login`,`password`,`regtime`) values ('dude','0-9a-f','int11')



    А нах такой плаващий синтаксис?
    * то create("users");
    * то create(DUDESQL_COMMAND_INSERT,"users");

    может проще вторым параметром константу?
    adw/0
  • phpdude

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

    Spritz 11 июня 2009 г. 17:13, спустя 8 минут 32 секунды

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

    $sql = DudeSql::create("users","id",10); = select * from users where id=10

    либо
    $sql = DudeSql::create("users",10); = select * from users where id=10

    там можно задавать default column. у меня по дефолту она равно id.

    а константа необязательна из тех соображений, что селекты - частая вещь и хочется лаконичности кода :)
    Сапожник без сапог
  • adw0rd

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

    Spritz 11 июня 2009 г. 17:26, спустя 13 минут 11 секунд

    phpdude, ясно… что-то мне надоели дебаты, я бы накатал запрос в два раза меньше твоего кода, но ломает… лучше пихослет сделаю
    adw/0
  • adw0rd

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

    Spritz 11 июня 2009 г. 17:26, спустя 19 секунд

    пусть васяц и накатает :)
    adw/0
  • phpdude

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

    Spritz 11 июня 2009 г. 17:28, спустя 1 минуту 25 секунд


    phpdude, ясно… что-то мне надоели дебаты, я бы накатал запрос в два раза меньше твоего кода, но ломает… лучше пихослет сделаю
    мое дело указать, а ваше решить надо не надо :)

    я не люблю руками писать запросы и считаю это идиотизмом :) по крайней мере для простых запросов(select * from table where ? and ? and ? and ?, insert into …) это истинно.
    Сапожник без сапог
  • adw0rd

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

    Spritz 11 июня 2009 г. 17:34, спустя 6 минут 10 секунд

    phpdude, ну а методы свои ты разве не руками набиваешь?
    adw/0
  • adw0rd

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

    Spritz 11 июня 2009 г. 17:35, спустя 1 минуту 27 секунд

    phpdude, мне проще знать один SQL, чем еще и твой класс. Я знаю, если я использую какую-либо SQL-конструкцию где-либо, то и у себя я ее смогу использовать - а у тебя не известно, даже update нет, я не говорю о спец ключах (IGNORE в INSERT и т.д.)

    или как реализовать "insert … on duplicate key update …"?
    adw/0
  • phpdude

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

    Spritz 11 июня 2009 г. 17:35, спустя 10 секунд


    phpdude, ну а методы свои ты разве не руками набиваешь?
    руками, но в более удобном для меня виде

    как часто ты пишешь select * from table where id=10 ?
    Сапожник без сапог
  • adw0rd

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

    Spritz 11 июня 2009 г. 17:37, спустя 1 минуту 15 секунд


    как часто ты пишешь select * from table where id=10 ?


    когда надо сделать запрос к базе тогда и пишу, как часто - не знаю
    adw/0

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