|
|
|
|
SELECT themes.id_theme, themes.id_doska, themes.cat, themes.id_mode, themes.time, mode.page, posts.name FROM themes, mode, posts WHERE themes.hide != 'hide' AND mode.id_mode=themes.id_mode AND posts.id_theme=themes.id_theme ORDER BY themes.time DESC
|
Хост заблокировали
Причина - превышен лимит подключений к базе данных.
Возможно необходимо использовать функцию mysql_close()
после выполнения запросов, т.е. отключаться от базы в
скрипте сайта. | |
|
|
|
|
|
|
|
для: ganelena
(22.05.2006 в 13:06)
| | Проблема, вероятно, не в самом запросе, а в php-скриптах, которые подключаются к базе. И в том, сколь часто они выполняют функцию mysql_select_db.
В запросе ничего криминального нет. | |
|
|
|
|
|
|
|
для: Trianon
(22.05.2006 в 13:14)
| |
<?php
require_once('Connections/car.php'); ?>
<?php
$show='no';
$maxRows_Recordset1 = 10;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
$pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;
mysql_select_db($database_car, $car);
$query_Recordset1 = "SELECT * FROM doski";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $car) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
if (isset($_GET['totalRows_Recordset1'])) {
$totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
$all_Recordset1 = mysql_query($query_Recordset1);
$totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
$maxRows_Recordset2 = 20;
$pageNum_Recordset2 = 0;
if (isset($_GET['pageNum_Recordset2'])) {
$pageNum_Recordset2 = $_GET['pageNum_Recordset2'];
}
$startRow_Recordset2 = $pageNum_Recordset2 * $maxRows_Recordset2;
mysql_select_db($database_car, $car);
$query_Recordset2 = "SELECT themes.id_theme, themes.id_doska, themes.cat, themes.id_mode, themes.time, mode.page, posts.name FROM themes, mode, posts WHERE themes.hide != 'hide' AND mode.id_mode=themes.id_mode AND posts.id_theme=themes.id_theme ORDER BY themes.time DESC";
$query_limit_Recordset2 = sprintf("%s LIMIT %d, %d", $query_Recordset2, $startRow_Recordset2, $maxRows_Recordset2);
$Recordset2 = mysql_query($query_limit_Recordset2, $car) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
if (isset($_GET['totalRows_Recordset2'])) {
$totalRows_Recordset2 = $_GET['totalRows_Recordset2'];
} else {
$all_Recordset2 = mysql_query($query_Recordset2);
$totalRows_Recordset2 = mysql_num_rows($all_Recordset2);
}
$totalPages_Recordset2 = ceil($totalRows_Recordset2/$maxRows_Recordset2)-1;
mysql_select_db($database_car, $car);
$query_Recordset3 = "SELECT mode.id_mode, mode, count(*) as count, page, noz FROM mode JOIN themes ON mode.id_mode=themes.id_mode AND themes.id_doska='2' AND themes.hide != 'hide' GROUP BY mode.id_mode ORDER BY mode.noz ASC, mode.mode ASC";
$Recordset3 = mysql_query($query_Recordset3, $car) or die(mysql_error());
$row_Recordset3 = mysql_fetch_assoc($Recordset3);
$totalRows_Recordset3 = mysql_num_rows($Recordset3);
|
Я так понимаю три раза | |
|
|
|
|
|
|
|
для: ganelena
(22.05.2006 в 13:23)
| | Что мешает удалить вызов mysql_select_db($database_car, $car); из всех трех мест и поместить его один раз в Connections/car.php ? | |
|
|
|
|
|
|
|
для: Trianon
(22.05.2006 в 13:31)
| | Спасибо я уже сделала
а как мне закрыть соединение
mysql_close()
$car = mysql_pconnect($hostname_car, $username_car, $password_car) or die(mysql_error());
|
Если такое соединение?
Что надо написать в скобках? | |
|
|
|
|
|
|
|
для: ganelena
(22.05.2006 в 13:38)
| | Для начала замените mysql_pconnect на mysql_connect. Этот вызов и являлся причиной отключения Вашего хоста.
mysql_close можете вообще не писать. В конце выполнения скрипта php-интерпретатор закроет соединение сам. Если оно, конечно, открыто через mysql_connect , а не через mysql_pconnect . | |
|
|
|
|
|
|
|
для: Trianon
(22.05.2006 в 13:45)
| | Спасибо, а в чем разница? | |
|
|
|
|
|
|
|
для: ganelena
(22.05.2006 в 13:48)
| | В первую очередь именно в этом. mysql_pconnect создает соединения, которые не закрываются автоматически по завершении скрипта. | |
|
|
|
|
|
|
|
для: Trianon
(22.05.2006 в 13:53)
| | Спасибо,
А есть какие либо количественные методы определения загружаемости сервера? | |
|
|
|
|
|
|
|
для: ganelena
(22.05.2006 в 13:54)
| | Потребляемый объём памяти и процентная загрузка процессора. | |
|
|
|