Удобная функция для тех, кто хочет использовать Yii и писать SQL
21 июня 2012
Использовать можно так:
$posts = command('SELECT * FROM post WHERE id IN(%s)', array(1, 2, 3))->queryAll(); foreach($posts as $post) { print_r($post); } $id = command('SELECT id FROM post WHERE name = %s AND status=%d', 'Alexander', 10)->queryScalar(); echo $id; $post = command('SELECT * FROM post WHERE id = %d', 101)->queryRow(); print_r($post);
Комментарии RSS по email OK
$values как параметр cледовало бы перевести в array
$values = (array) $values;
, раз уж мы без проверки is_array суём его в foreach. Иначе получим warning.Действительно. Спасибо.
имхо параметризованные запросы вроде как рекомендуются вместо quote?
Yii::app()->db->command() Может лучше CDBConnetcion рассширить? Просто если несолько баз в приложении, то фукнция вяжется все равно на db->
Max, смотря для чего.
Ncs, это будет уже не так кратко. Поправьте по вкусу.
Удобно, но уже не prepared query.
Надо params включить, чтобы и удобно и секурно.
2RusAlex, Хм
А как бы еще сюда прикрутить с аналогичной красотой и простотой кэширование...
Спасибо Александр, очень полезная функция!