Too many conections... Помогите вебмастера!
| |
vicu2010 | Дата: Четверг, 21 Ноября 2013, 21:29 | Сообщение # 1 |
Сейчас нет на сайте
| Привет, вообщем ради того чтобы было проще имплементировать свой дизайн на сайт, я написал свой пхп-движок. Однако мои познания очень скудны. Стал замечать, что иногда сайт кидает ошибку выше.
Я не пойму как исправить её, или хотя-бы как засечь, т.к. она может и хостингом быть спровоцирована. Однако вряд-ли, по скольку на сайт одновременно больше двух людей не заходят.
Вот файл подключения к БД, тут ошибку и выдает: Код <?php $dbase=mysql_connect('***', '****', '**paswd**'); if(!$dbase){ ?> <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>NO ACCESS</title> </head> <body> <br /><br /><br /> <h1 align="center">No access to BD</h1> </body> </html> <?php exit; } mysql_select_db('*****'); @mysql_query('set character_set_client="utf8"'); @mysql_query('set character_set_results="utf8"'); @mysql_query('set collation_connection="utf8_general_ci"'); ?>
и функции: Код <?php function GetDataArt($pagina){ $sel = "SELECT `title`,`page_title`,`meta_d`,`meta_kw`,`content` FROM `articles` WHERE `id` = '$pagina' LIMIT 2"; $query = mysql_query($sel); if(!$query){ echo(':('); } else{ if(mysql_num_rows($query)>0){ $res = mysql_fetch_array($query); $title = $res['title']; $page_title = $res['page_title']; $meta_kw = $res['meta_kw']; $meta_d = $res['meta_d']; $content = $res['content']; } else{ $title = 'Îmi pare rău, dar nu există așa pagină!'; $page_title = 'Îmi pare rău, dar nu există așa pagină'; $meta_kw = $meta_d = $content = ''; } $data_arr = array($title, $page_title, $meta_kw, $meta_d, $content); return $data_arr; } } ?>
Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
Сообщение отредактировал vicu2010 - Четверг, 21 Ноября 2013, 21:38 |
|
| |
rak | Дата: Четверг, 21 Ноября 2013, 21:52 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| Too many connections ошибка MySQL mysql.ru. В твоем коде что может ошибку такую вызвать я по крайней мере ни чего не вижу. Так что разбирайся с хостингом.
|
|
| |
DronCode | Дата: Четверг, 21 Ноября 2013, 22:50 | Сообщение # 3 |
Best Byte forever
Сейчас нет на сайте
| А где ты от БД отключаешься? Используй : mysql_close(хэндл подключения)
Советую организовать класс для подключения к БД, защите от SQLInj и собственно своевременному дисконнекту от БД. Это сможете сделать если знаете ООП. Если нет, то по вашей просьбе подкину sample class)
P.S. вот так можно узнать кол-во соединений с БД :
Занимаюсь программированием на PHP, JavaScript (jQuery), C# (не Unity3d!), Action Script 3.0 (в основном клепаю игрушки под соц сети.), Node.JS Недавно стал изучать Python.
Сообщение отредактировал DronCode - Четверг, 21 Ноября 2013, 22:55 |
|
| |
vicu2010 | Дата: Пятница, 22 Ноября 2013, 00:16 | Сообщение # 4 |
Сейчас нет на сайте
| Я перепрыгал со страницы на страницу, потом в пхпмуадмин ввел процеслист, и вот что показало: 8129673 u450078018_ugyzy localhost u450078018_ytytu Query 0 NULL SHOW PROCESSLIST
При этом too many connections я не получил, её вообще очень редко засечь можно. По этому то и думаю, мб всеже хостинг виноват.
Цитата DronCode ( ) Если нет, то по вашей просьбе подкину sample class) Буду прзнателен. Ибо пока в пхп не мастер, да и учить не особо хочется. Сейчас воодушевлен учить Rails on Ruby, но боюсь за уже реализованные проекты на php.
Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
Сообщение отредактировал vicu2010 - Пятница, 22 Ноября 2013, 00:23 |
|
| |
DronCode | Дата: Пятница, 22 Ноября 2013, 00:47 | Сообщение # 5 |
Best Byte forever
Сейчас нет на сайте
| Это явно не хостинг (или он, но в последнюю очередь). советую отрубаться от mysql сразу же после запросов. тогда соединения утекать не будут. класс кину завтра ибо сегодня уже голова не варит.
Занимаюсь программированием на PHP, JavaScript (jQuery), C# (не Unity3d!), Action Script 3.0 (в основном клепаю игрушки под соц сети.), Node.JS Недавно стал изучать Python.
|
|
| | |
Steiz | Дата: Четверг, 05 Декабря 2013, 07:01 | Сообщение # 7 |
echo "PHP,MYSQL,JAVASCRIPT,HTML,CSS";
Сейчас нет на сайте
| mysql_ устарел, используй mysqli
Лучшая защита от sql инъекций $page = (int) $_GET["p"]; или intval() для всего остального есть preg_match и некоторые стандартные функции
В footer - mysql_close($dbase);
А лучше кэшировать.
Освоил: 3d max,blender painter,photoshop,sketchbook,gimp C++,C#,javascript,php,html,css,mysql unity3d,udk,ue
Сообщение отредактировал Steiz - Четверг, 05 Декабря 2013, 07:29 |
|
| |
|