Ищу информацию по Mysqli

Armageddance

Новичок
Начал разрабатывать веб-приложение с большим и частым количеством запросов к Mysql.
Выбор остановился на mysqli, но вот беда, в русскоязычном инете на эту тему информации практически нет, а функций в mysqli немало и работа с ними менее тривиальна, чем в случае с обычным mysql.
Буду благодарен ссылкам на материалы по mysqli с описанием функций и/или на рабочий код с комментариями с использованием mysqli.
http://phpclub.ru/detail/article/mysqli уже читал... маловато будет....
 

shureen

Милорд Лось Кристофер
3ья ссылка в яндексе по слову mysqli. Как это нет? полно информации и на русском в том числе

а вообще я за PDO
 

Armageddance

Новичок
PDO поддерживает множественные запросы к базе?

Как мне проверить значение второго запроса (select session_result)?

PHP:
$check_session_query="SELECT @date:= CAST(CONCAT(CAST(YEAR(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), '-', 
                                CAST(MONTH(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), '-', 
                                CAST(DAYOFMONTH(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), ' ', '09:00:00') AS DATETIME);
                                SELECT FROM sessions * WHERE DATE(timer)=DATE(@date);";
                                $check_session_result = mysqli_multi_query($connector, $check_session_query);
 

shureen

Милорд Лось Кристофер
Что значит "множественные запросы к базе"?
 

Armageddance

Новичок
"хз, что тебе мешает выполнить 2 запроса по отдельности?"
В данном конкретном случае ничего, но в целом в приложении мне потребуется иногда делать вот такие запросы, а их делать все раздельно и потом проверять - весьма муторно:
PHP:
$set_session_query = "SELECT @date:= CAST(CONCAT(CAST(YEAR(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), '-', 
                                            CAST(MONTH(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), '-', 
                                            CAST(DAYOFMONTH(DATE_ADD(NOW(), INTERVAL '$session_day' DAY)) AS CHAR), ' ', '09:00:00') AS DATETIME);
                                            SELECT @session1:= DATE_ADD(@date, INTERVAL '00:0' MINUTE_SECOND);
                                            SELECT @session2:= DATE_ADD(@date, INTERVAL '45:0' MINUTE_SECOND);
                                            SELECT @session3:= DATE_ADD(@date, INTERVAL '90:0' MINUTE_SECOND);
                                            SELECT @session4:= DATE_ADD(@date, INTERVAL '135:0' MINUTE_SECOND);
                                            SELECT @session5:= DATE_ADD(@date, INTERVAL '180:0' MINUTE_SECOND);
                                            SELECT @session6:= DATE_ADD(@date, INTERVAL '225:0' MINUTE_SECOND);
                                            SELECT @session7:= DATE_ADD(@date, INTERVAL '270:0' MINUTE_SECOND);
                                            SELECT @session8:= DATE_ADD(@date, INTERVAL '315:0' MINUTE_SECOND);
                                            SELECT @session9:= DATE_ADD(@date, INTERVAL '360:0' MINUTE_SECOND);
                                            SELECT @session10:= DATE_ADD(@date, INTERVAL '415:0' MINUTE_SECOND);
                                            SELECT @session11:= DATE_ADD(@date, INTERVAL '450:0' MINUTE_SECOND);
                                            SELECT @session12:= DATE_ADD(@date, INTERVAL '495:0' MINUTE_SECOND);
                                            INSERT INTO sessions (timer, admin_id, master_id, session_type) VALUES (@session1, 1, 1, 1),
                                                                                                (@session2, 1, 1, 1),
                                                                                                (@session3, 1, 1, 1),
                                                                                                (@session4, 1, 1, 1),
                                                                                                (@session5, 1, 1, 1),
                                                                                                (@session6, 1, 1, 1),
                                                                                                (@session7, 1, 1, 1),
                                                                                                (@session8, 1, 1, 1),
                                                                                                (@session9, 1, 1, 1),
                                                                                                (@session10, 1, 1, 1),
                                                                                                (@session11, 1, 1, 1),
                                                                                                (@session12, 1, 1, 1);";
 

Armageddance

Новичок
Набросал примерную конструкцию как получать данные из массива выборки.

PHP:
do { 
               // получаем ответ на запрос из результирующего набора 
                $check_session_result = mysqli_use_result($connector); 

                 while ($row = mysqli_fetch_array($check_session_result)) 
                       { 
                        if($row=="")// обрабатываем данные 
                       $error_to_display.="Расписание на данную дату еще не сформированно.";
                       if($row!="")
                             while()
                                 {
                                          Что здесь должно быть? Как мне извлечь строки вида [2011 05 22 hh:mm] 1 1 1 1 отсюда?
                                 }
                }  

             //осовобождаем память
             mysqli_free_result($check_session_result);  

               // переходим на следующий ответ из результирующего набора 
                // если следующего ответа нет - цикл завершается 
  } while (mysqli_next_result($connector));
 

shureen

Милорд Лось Кристофер
:confused:
после $row = mysqli_fetch_array($check_session_result) у тебя в row должен быть результирующий ряд
 

shureen

Милорд Лось Кристофер
вообще по моему (не проверял) мульти запрос это какой специфический функционал mysqli, лучше каждый запрос отдельно выполнить, особенно селекты
 

Armageddance

Новичок
Обьясните ламеру, я вам буду благодарен. Просто у обоих методов свои плюсы. Мне интересно как будет выглядеть при грамотном php-ориентированном подходе выглядеть, с циклом.
 
Сверху