powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Покритикуйте кот(оберька для MySQL)!
25 сообщений из 133, страница 2 из 6
Покритикуйте кот(оберька для MySQL)!
    #37785363
?????
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА всё из-за того, что топикстартер так и не ответил зачем это ему нужно.
+100500! гыгы ?
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785369
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergemiksoft...Зачем этот код, кроме как для экономии нескольких букв...
Как раз букв будет существенно больше. А толку, насколько я понимаю, никакого. А всё из-за того, что топикстартер так и не ответил зачем это ему нужно.

Код: php
1.
2.
3.
4.
5.
6.
7.
$id = $db->insert('users', array('id' => null, 'name' => 'tester', 'pass' => 'qwerty'));

// VS

$sql = "INSERT INTO $prefix$table (id, name, values) VALUES(NULL, '" . mysql_real_escape_string($name) . '", '" . mysql_real_escape_string($pass) . '");";
mysql_query($query);
$id = mysql_insert_id();



В случае с UPDATE ещё удобнее
Код: php
1.
2.
3.
$user = $db->find('users', 1);
$user['pass'] = 'test';
$db->update('users', $user);
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785372
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
?????, мимо тащем-то
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785374
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*$db->update('users', $user, 1);
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785385
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша рррВ случае с UPDATE ещё удобнее
Код: php
1.
2.
3.
$user = $db->find('users', 1);
$user['pass'] = 'test';
$db->update('users', $user);

Тут очень много "если".
А что, если поле, по которому нужно найти записи не `id` ?
А что, если вернется несколько записей?
А что, если не вернется ни одной записи?
А что, если в таблице users вообще нет поля id?

А если начать оборачивать ваш код проверками, то в итоге все еще не ясно, какой код короче окажется.
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785394
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
try {
    $db = new MySQL($db_host, $db_user, $db_pass, $db_name, $db_prefix);
    $db->setCharset('utf8');
    // $db->query(), $db->find(), $db->insert(), $db->update(), $db->delete(), ...
}
catch (Exception $e) {
    echo($e->getMessage()); // Ошибки подключения, синтаксиса запроса и пр.
}
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785397
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, хотя может кому-нить и удобно писать везде mysql_query() || die(mysql_error())
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785401
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша рррmiksoft,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
try {
    $db = new MySQL($db_host, $db_user, $db_pass, $db_name, $db_prefix);
    $db->setCharset('utf8');
    // $db->query(), $db->find(), $db->insert(), $db->update(), $db->delete(), ...
}
catch (Exception $e) {
    echo($e->getMessage()); // Ошибки подключения, синтаксиса запроса и пр.
}

"$db->query(), $db->find(), $db->insert(), $db->update(), $db->delete()" - это, как я понимаю, предполагаются вызовы этих функций? Ну и как узнавать, в какой из них произошло исключение?
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785403
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша рррmiksoft, хотя может кому-нить и удобно писать везде mysql_query() || die(mysql_error())Новичкам явно удобнее. Им дай бог хэлп по стандартным функциям освоить. А тут еще какую-то дополнительную обертку надо изучать, в которой грабли те же, но лучше замаскированы.
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785404
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftНяша рррmiksoft, хотя может кому-нить и удобно писать везде mysql_query() || die(mysql_error())Новичкам явно удобнее. Им дай бог хэлп по стандартным функциям освоить. А тут еще какую-то дополнительную обертку надо изучать, в которой грабли те же, но лучше замаскированы.

Мне дела нет до новичков особого, debug_backtrace можно вызвать и указать, хотя если намеренно ошибки не отлавливать то сам PHP укажет место
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785405
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. не ошибки, а исключения
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785406
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша рррМне дела нет до новичков особогоНу вот, опять приходим к тому, что цели и задачи этого кода не определены.
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785425
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
$db->insert('users', array('id' => null, 'name' => 'tester', 'pass' => 'qwerty', 'reg_dateime' => $db->unescape('DATETIME'))); // INSERT INTO t_users (id, name, pass, reg_dateime) VALUES (NULL, 'tester', 'qwerty', DATETIME);

    public function unescape($string) {
        return new SQLExpression($string);
    }

class SQLExpression {
    private $_value;
    
    public function __construct($value) {
        $this->_value = $value;
    }
    
    public function __toString() {
        return $this->_value;
    }
}
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785436
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или так:

Код: php
1.
2.
$db->escapeStrings = false;
$db->insert('users', array('id' => null, 'name' => $db->quote('tester'), 'pass' => $db->quote('qwerty'), 'reg_dateime' => 'DATETIME'));



Строки пускай по-умолчанию эскейпется. Лан мне все равно никто ничем не помог.
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785470
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша рррЛан мне все равно никто ничем не помог.А при имеющихся столь скудных вводных, ничего, кроме общего теоретизирования, и не ждите.
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785485
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша рррНе в тему.
Все что не совпадает с мнением - все не в тему у вас.
Нахуана тогда тема создана?

Ценность поделки = 0. Это и без темы понятно.
Вы делаете ровно то, что необходимо ВАМ в данном конкретном случае.
Что другие могут на это ответить?

Ну и как бы вы просили покритиковать. А на критику рты затыкаете.
И чо писать тогда тут? Хвалить нечего. Собственно и критиковать тоже. Писанина да и всё.

Как только возникнет необходимость написать более-менее сложный запрос, вся эта писанина окажется в корзине.
Вот и вся критика.
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785487
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЛан мне все равно никто ничем не помог.
А это возможно теоритически?
А с учетом, что еще требуется доказать вам же, что это помощь для вас?

Лесом с такими приколами
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785493
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.: Я такие вещи писал наверное раза 3, когда практиковался в написании несложных узкоспециализированных админок с полного нуля. Если б у меня возникла мысля вывалить подобные набивки руки и опыта на всеобщее оборзение - я б наверное выкинул модем и временно повесился до полного возвращения адекватности в мозг... =)))
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785498
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьху, забыл спросить:

авторПокритикуйте кот(оберька...

это на каком диалекте?
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785508
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edd.DragonТьху, забыл спросить:

авторПокритикуйте кот(оберька...

это на каком диалекте?

Писал покажи, я не уверен что ты что-то лучше написал.
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785519
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша рррПисал покажи, я не уверен что ты что-то лучше написал.

1. Говорю: "Никогда бы в голову не пришла мысль это выкладывать". В ответ слышу: "Так выложи!". Мой логический аппарат протестует...

2. Я сказал ровно то, что сказал. А у тебя сразу мысль (о чем я даже и не заикался, ибо мне это побоку) - сравнить, и доказать, что твое не хуже. Ну... Ты ради этого писал и выложил, что ли?

В общем, я к тому, что задумайся над своей мотивацией и самооценкой. И не торопись кричать "похвалите!". Ты даже еще не дошел до джоинов, нормальной обработки диапазонов в условиях, хевенов и т.д.
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785523
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edd.DragonНяша рррПисал покажи, я не уверен что ты что-то лучше написал.

1. Говорю: "Никогда бы в голову не пришла мысль это выкладывать". В ответ слышу: "Так выложи!". Мой логический аппарат протестует...

2. Я сказал ровно то, что сказал. А у тебя сразу мысль (о чем я даже и не заикался, ибо мне это побоку) - сравнить, и доказать, что твое не хуже. Ну... Ты ради этого писал и выложил, что ли?

В общем, я к тому, что задумайся над своей мотивацией и самооценкой. И не торопись кричать "похвалите!". Ты даже еще не дошел до джоинов, нормальной обработки диапазонов в условиях, хевенов и т.д.

тото сложно сообразить как джоины сделать

$db->select('table1 as t1 LEFT JOIN table2 as t2 ON t1.id = t2.pid', $cols, $where);
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785526
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша ррртото сложно сообразить как джоины сделать

$db->select('table1 as t1 LEFT JOIN table2 as t2 ON t1.id = t2.pid', $cols, $where);А в серьезных запросах ( с подзапросами и т.д.) туда просто большая часть запроса уедет. И обертка превратится в тыкву фантик.
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785530
Няша ррр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftНяша ррртото сложно сообразить как джоины сделать

$db->select('table1 as t1 LEFT JOIN table2 as t2 ON t1.id = t2.pid', $cols, $where);А в серьезных запросах ( с подзапросами и т.д.) туда просто большая часть запроса уедет. И обертка превратится в тыкву фантик.

Прошу назвать хотя бы один фреймворк, класс где таково не произойдёт.
...
Рейтинг: 0 / 0
Покритикуйте кот(оберька для MySQL)!
    #37785540
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няша ррртото сложно сообразить как джоины сделать
$db->select('table1 as t1 LEFT JOIN table2 as t2 ON t1.id = t2.pid', $cols, $where);

Ну и смысл? Пол запроса пришем вручную (еще и в кавычки забыли облачить имена таблиц), а половину автоматизируем.

Что мешало написать пару функций для обработки потенциально опасных параметров, а дальше юзать стандартные средства? Но хочется ж и самому пописать, чтобы понять, почему стандартные средства гибки ровно на столько, а не больше, и какие проблемы поджидают в попытках добиться бОльшей гибкости. Это нормальное желание. С этим я даже спорить не буду. Но вы лучше устремите свои усилия в сторону создания практических задач для использования своего кода. Вот тогда и станет видно, что вот до такого момента все хорошо. Дальше уже выгоды - ноль. А для такой системы было бы лучше совсем иначе поступить. А вот теперь я уже достаточно наигрался, насмаковался и уже вижу где месил воду в ступе ради практики, а что из кода действительно полезно.

Более эффективным способом набрать опыта и профессионализма, безусловно, является работа в команде и с уже проверенным боем кодом. Тогда не придется тратить время на повторение уже многократно пройденного другими пути, а можно будет подумать, что в имеющемся коде можно улучшить (по вашему мнению и применительно к конкретным задачам) и обсудить , а так ли оно на самом деле, как вам показалось.

Без конкретных систем, обсуждать такие модули применительно к вакууму - бесполезно. Ибо очевидно, что они не являются уневерсальными конструкторами любых запросов на все случаи жизни, а "автоматизируют" лишь элементарные вещи элементарными способами, что в общем-то не интересно для обсуждения.

Как говорится, изюму нету (с)
...
Рейтинг: 0 / 0
25 сообщений из 133, страница 2 из 6
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Покритикуйте кот(оберька для MySQL)!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]