объясните мне, пожалуйста: 1. что произойдет при одновременном открытии двух и более соединений 2. если невозможно одновременно второе соединение, как поведет себя mysql, что выдаст (если выдаст) 3. и если соединение возможно только одно в момент времени, как бороться с этим, какими методами
почему в книге "MySQL" Поль Дюбуа цитирую: если ф-ия mysql_connect() вызывается с параметрами уже существующего открытого соединения, новое соединение не устанавливается. может я чего не понимаю?
а зачем открывать новое совершенно такое же соединение, если можно использовать ресурс уже открытого и работать с ним?
у меня соединение осуществляется отдельной ф-ией и вставляется в начало на каждой странице сайта, означает ли это, что при одновременном открытии страниц посетителями (при открытии осуществляется различного рода выборка и вывод данных из базы), один из посетителей получит «шиш», т.к. ф-ия подключения и выбора значений из БД будет осуществляться др. пользователем
объясните детальный механизм mysql_connect(), кто ТОЧНО его знает и уверен в правильности Почему автор статьи (Курепин) при создании класса подключения и инициализации к БД отмечает, цитирую: «Вот на этом месте я вас должен предупредить. Дело в том, что тот метод общения с базой, который напишем мы, не универсален. Благодаря нашим функциям, можно будет одновременно работать только с одним запросом к базе. Есть случаи, когда это не очень удобно. Но мне это никогда не мешало. В конце концов, всегда можно за несколько минут добавить недостающую функцию.» сам класс: PHP: <? require("/home/roma/req/vars.class"); class class_mysql extends class_vars { var $sql_login="roma"; var $sql_passwd="parol"; var $sql_database="roma"; var $sql_host="127.0.0.1"; var $conn_id; var $sql_query; var $sql_err; var $sql_res; function sql_connect() { $this->conn_id=mysql_connect($this->sql_host,$this->sql_login,$this->sql_passwd); $this->conn_log_id=mysql_connect($this->sql_host,$this->sql_login,$this->sql_passwd); mysql_select_db($this->sql_database); } function sql_close() { mysql_close($this->conn_id); } function sql_execute() { $this->sql_res=mysql_query($this->sql_query,$this->conn_id); $this->sql_err=mysql_error(); } } ?> в чем неуниверсальности?
все отработает отлично и у первого, и у второго, и у других пользователей. в книге, видимо, имелось ввиду несколько одинаковых подключений для текущего пользователя.