Сегодня 12 июля, суббота ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
RMCreative.ru - Блог
RMCreative.ru - Блог
Голосов: 1
Адрес блога: http://rmcreative.ru/feed/
Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL
 

Несколько SQL-запросов за один раз через PDO

2011-06-24 03:37:21 (читать в оригинале)

Понадобилось исполнить несколько не однотипных запросов за один раз. Также, как это делает mysqli::multi_query, но через PDO. Сделать это, оказалось, вполне реально, но и без интересностей не обошлось.

Во-первых нагуглить это оказалось почему-то не так просто: вылезали какие-то обсуждения PDO_MYSQLND 2008-го года и, хоть и свежие, но оставшиеся без внятного ответа вопросы на StackOverflow.

Оказалось, что PDO_MYSQLND с релизом PHP 5.3 заменил PDO_MYSQL, который такие вещи не поддерживал. Причём заменил под тем же именем PDO_MYSQL.

Итого, для выполнения нескольких запросов за один раз понадобится:

  • PHP 5.3+
  • mysqlnd
  • Эмуляция prepared statement через PDO::ATTR_EMULATE_PREPARES, выставленный в 1 (по умолчанию) или, как альтернатива, не использование prepared statements и выполнение запроса напрямую через $pdo->exec.

Используем exec

$db = new PDO("mysql:host=localhost;dbname=test", 'root', '');
 
// работает как для реальных statement-ов, так и для эмуляции
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0);
 
$sql = "DELETE FROM car; INSERT INTO car(name, type) VALUES ('car1', 'coupe'); INSERT INTO car(name, type) VALUES ('car2', 'coupe');";
 
try {
    $db->exec($sql);
}
catch(PDOException $e)
{
    echo $e->getMessage();
    die();
}

Используем statement-ы

$db = new PDO("mysql:host=localhost;dbname=test", 'root', '');
 
// Не будет работать с реальными statement-ами. Только с эмуляцией.
// Строку ниже можно закомментировать, это умолчание
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);
 
$sql = "DELETE FROM car; INSERT INTO car(name, type) VALUES ('car1', 'coupe'); INSERT INTO car(name, type) VALUES ('car2', 'coupe');";
 
try {
    $stmt = $db->prepare($sql);
    $stmt->execute();
}
catch(PDOException $e)
{
    echo $e->getMessage();
    die();
}


Book of speed

2011-06-17 23:54:38 (читать в оригинале)

Англоязычная онлайн-книга по клиентской оптимизации за авторством Stoyan Stefanov, подарившего нам YSlow и smush.it.

Готовы пять глав из девяти:

  1. The Performance Business Case
  2. The Life of Page 2.0
  3. Fewer Page Components
  4. Smaller Components
  5. Optimizing Images
  6. Parallel downloads
  7. Optimizing JavaScript and Ajax
  8. Optimizing CSS
  9. Psychology of performance
  • Читаем.
  • Исходник на Github.


Порядок регистрации автозагрузчиков классов в Yii

2011-06-14 03:15:09 (читать в оригинале)

Вплоть до версии 1.1.7 можно было регистрировать автозагрузчики классов только в одном порядке. Перед родным автозагрузчиком:

Kohana
Zend Framework
Yii

В итоге при загрузке родных классов срабатывал сначала автозагрузчик Kohana, затем Zend Framework и только потом родной. И происходило это для каждого класса. С версии 1.1.8 этого можно избежать, поставив сторонние загрузчики после Yii:

Yii
Zend Framework
Kohana

Достаточно добавить всего один параметр:

Yii::app()->registerAutoloader(array('EZendAutoloader', 'load'), true);
Yii::app()->registerAutoloader(array('EKohanaAutoloader', 'load'), true);

Реализация:

  • http://code.google.com/p/yii/source/detail?r=3258
  • http://code.google.com/p/yii/source/detail?r=3259
  • http://code.google.com/p/yii/source/detail?r=3261


Интерактивный учебник Ильи Кантора по JavaScript (alpha)

2011-06-08 20:30:00 (читать в оригинале)

Илья Кантор, скорее всего известный вам как создатель javascript.ru, выложил предварительную версию интерактивного учебника по JavaScript на английском языке. После завершения работы над английской версией, будет перевод на русский.

Главные критерии, по которым данный труд создавался:

  • Правильный — если вы видели учебники и статьи по JavaScript, то понимаете, о чем это.
  • Современный — с учётом HTML5, IE9 и FF4. Основное внимание на «сейчас», но при этом «с прицелом на будущее».
  • Задачи! Да, в учебнике должны быть задачи, а не только текст. Единственный способ освоить — это сделать. Иначе говоря, учебник должен быть и самоучителем.

Так как версия предварительная, очень нужны замечания, предложения и исправления.

  • Учимся
  • Анонс на хабре


DevConf 2011, впечатления

2011-06-06 19:01:51 (читать в оригинале)

Вчера вернулся с DevConf, где читал доклад про Yii и процесс его разработки. В общем доклад был похож на одноимённый с CodeFest, но включал себя багфиксы и раскрывал мысль несколько лучше. На вопрос «во что может превратиться Yii, если его разработчики станут компанией» я чётко ответил «в Битрикс», чем, сдаётся мне, поверг окружающих в лёгкий в шок. На самом деле оговорился :) Вопросы были, кстати, очень хорошие и правильные. Спасибо задававшим их людям.

Да, всем, кто репортил мне баги лично и предлагал новые крутые штуки для Yii… поход в парк и его продолжение сделали своё дело, так что стоит на всякий пожарный написать мне в почту. Мог забыть ;)

Из докладов удалось полностью послушать Андрея Аксёнова с неимоверно весёлым и жизненным докладом про нас it-шников и нормальные человеческие отношения.

Кстати, есть видео этого доклада… снятое на автомобильный видео-регистратор.

Как и почти на всех нормальных конференциях, интереснее всего было общаться вне докладов и особенно забавно после конференции под пиво. Спасибо за конструктив, интересные темы, байки, манчкин-а и всё-всё остальное. Не теряйтесь.

  • Совсем-совсем мало фото

Другие отчёты:

  • http://tokarchuk.ru/2011/06/devconf-2011/
  • http://techmnd.blogspot.com/2011/06/devconf.html


Страницы: ... 81 82 83 84 85 86 87 

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.