Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Guimarães

O q pode estar acontecendo?

Recommended Posts

Olá, todos do imasters,desenvolvi meu 1º sistema em PHP, uma galeria de fotos.eu a publiquei e estava indo tudo bem, até q meu site foi suspenso por uso demasiado do MySQL.Contatei meu servidor e eles me disseram que tem um erro no site q está criando muitas conexões com o MySQL.Alguém tem alguma idéia do q possa ser? eu nem imagino o q seja, tbm nao seria viavel eu postar todo o código de todas as páginas de meu site aqui, + caso seja necessario eu posto.Me ajudem por favor!!!!Desde de já agradeço ao possoal do forum, q sempre me ajudaram bastante. Mto obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o seu servidor acusou esse tipo de erro pode ser que você utiliza pconnect() e depois esquece de dar um close() na sua conexão, como o pconnect() é persistente, ou seja, se você não declarar o close() da conexão o mesmo usuário vai abrindo conexões cada fez que você chamar o pconnect() e não vai fechando e isso bomba o banco.Eu prefiro usar somente connect(), pois evita isso (mesmo que você esqueça de dar um close() na conexão) pois o connect() não é persistente.Outro ponto é que abrindo com pconnect() e não fechando a conexão com o seu banco pode ser acessada por alguém mal intensionado.Mas posta parte do código aí para a gente dar uma olhada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou colcoar 2 códigos, apenas o PHP.

 

Esse é o da página de fotos (fotos.php)

 

<?php require_once('Connections/galeria.php'); ?><?php$currentPage = $_SERVER["PHP_SELF"];mysql_select_db($database_galeria, $galeria);$query_rsFullBanner = "SELECT * FROM banners WHERE Banner = 'FullBanner'";$rsFullBanner = mysql_query($query_rsFullBanner, $galeria) or die(mysql_error());$row_rsFullBanner = mysql_fetch_assoc($rsFullBanner);$totalRows_rsFullBanner = mysql_num_rows($rsFullBanner);$colname_rsAlbum = "-1";if (isset($_GET['album'])) {  $colname_rsAlbum = (get_magic_quotes_gpc()) ? $_GET['album'] : addslashes($_GET['album']);}mysql_select_db($database_galeria, $galeria);$query_rsAlbum = sprintf("SELECT * FROM albuns WHERE ID = %s", $colname_rsAlbum);$rsAlbum = mysql_query($query_rsAlbum, $galeria) or die(mysql_error());$row_rsAlbum = mysql_fetch_assoc($rsAlbum);$totalRows_rsAlbum = mysql_num_rows($rsAlbum);$maxRows_rsFotos = 1;$pageNum_rsFotos = 0;if (isset($_GET['pageNum_rsFotos'])) {  $pageNum_rsFotos = $_GET['pageNum_rsFotos'];}$startRow_rsFotos = $pageNum_rsFotos * $maxRows_rsFotos;$album_rsFotos = "1";if (isset($_GET['album'])) {  $album_rsFotos = (get_magic_quotes_gpc()) ? $_GET['album'] : addslashes($_GET['album']);}$foto_rsFotos = "1";if (isset($_GET['foto'])) {  $foto_rsFotos = (get_magic_quotes_gpc()) ? $_GET['foto'] : addslashes($_GET['foto']);  mysql_query("UPDATE fotos SET fotos.Clicks=(fotos.Clicks+1) WHERE fotos.ID = '$foto_rsFotos'");}$foto_rsFotos = "1";if (isset($_GET['foto'])) {  $foto_rsFotos = (get_magic_quotes_gpc()) ? $_GET['foto'] : addslashes($_GET['foto']);}$album_rsFotos = "1";if (isset($_GET['album'])) {  $album_rsFotos = (get_magic_quotes_gpc()) ? $_GET['album'] : addslashes($_GET['album']);}mysql_select_db($database_galeria, $galeria);$query_rsFotos = sprintf("SELECT * FROM fotos WHERE Album_ID = '%s'  AND ID = '%s'", $album_rsFotos,$foto_rsFotos);$rsFotos = mysql_query($query_rsFotos, $galeria) or die(mysql_error());$row_rsFotos = mysql_fetch_assoc($rsFotos);$totalRows_rsFotos = mysql_num_rows($rsFotos);$maxRows_rsMiniaturas = 6;$pageNum_rsMiniaturas = 0;if (isset($_GET['pageNum_rsMiniaturas'])) {  $pageNum_rsMiniaturas = $_GET['pageNum_rsMiniaturas'];}$startRow_rsMiniaturas = $pageNum_rsMiniaturas * $maxRows_rsMiniaturas;$colname_rsMiniaturas = "1";if (isset($_GET['album'])) {  $colname_rsMiniaturas = (get_magic_quotes_gpc()) ? $_GET['album'] : addslashes($_GET['album']);}mysql_select_db($database_galeria, $galeria);$query_rsMiniaturas = sprintf("SELECT * FROM fotos WHERE Album_ID = '%s'", $colname_rsMiniaturas);$query_limit_rsMiniaturas = sprintf("%s LIMIT %d, %d", $query_rsMiniaturas, $startRow_rsMiniaturas, $maxRows_rsMiniaturas);$rsMiniaturas = mysql_query($query_limit_rsMiniaturas, $galeria) or die(mysql_error());$row_rsMiniaturas = mysql_fetch_assoc($rsMiniaturas);if (isset($_GET['totalRows_rsMiniaturas'])) {  $totalRows_rsMiniaturas = $_GET['totalRows_rsMiniaturas'];} else {  $all_rsMiniaturas = mysql_query($query_rsMiniaturas);  $totalRows_rsMiniaturas = mysql_num_rows($all_rsMiniaturas);}$paginas = $totalRows_rsMiniaturas/$maxRows_rsMiniaturas;$totalPages_rsMiniaturas = ceil($totalRows_rsMiniaturas/$maxRows_rsMiniaturas)-1;$colname_rsUsers = "-1";if (isset($_SESSION['MM_Username'])) {  $colname_rsUsers = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);}mysql_select_db($database_galeria, $galeria);$query_rsUsers = sprintf("SELECT * FROM usuarios WHERE Email = '%s'", $colname_rsUsers);$rsUsers = mysql_query($query_rsUsers, $galeria) or die(mysql_error());$row_rsUsers = mysql_fetch_assoc($rsUsers);$totalRows_rsUsers = mysql_num_rows($rsUsers);mysql_select_db($database_galeria, $galeria);$query_rsHalfBanner1 = "SELECT * FROM banners WHERE Banner = 'HalfBanner 1'";$rsHalfBanner1 = mysql_query($query_rsHalfBanner1, $galeria) or die(mysql_error());$row_rsHalfBanner1 = mysql_fetch_assoc($rsHalfBanner1);$totalRows_rsHalfBanner1 = mysql_num_rows($rsHalfBanner1);mysql_select_db($database_galeria, $galeria);$query_rsHalfBanner2 = "SELECT * FROM banners WHERE Banner = 'HalfBanner 2'";$rsHalfBanner2 = mysql_query($query_rsHalfBanner2, $galeria) or die(mysql_error());$row_rsHalfBanner2 = mysql_fetch_assoc($rsHalfBanner2);$totalRows_rsHalfBanner2 = mysql_num_rows($rsHalfBanner2);$colname_rsComentarios = "-1";if (isset($_GET['foto'])) {  $colname_rsComentarios = (get_magic_quotes_gpc()) ? $_GET['foto'] : addslashes($_GET['foto']);}mysql_select_db($database_galeria, $galeria);$query_rsComentarios = sprintf("SELECT * FROM comentarios WHERE ID_Foto = '%s'", $colname_rsComentarios);$rsComentarios = mysql_query($query_rsComentarios, $galeria) or die(mysql_error());$row_rsComentarios = mysql_fetch_assoc($rsComentarios);$totalRows_rsComentarios = mysql_num_rows($rsComentarios);$maxRows_rsMiniatruas = 6;$pageNum_rsMiniatruas = 0;if (isset($_GET['pageNum_rsMiniatruas'])) {  $pageNum_rsMiniatruas = $_GET['pageNum_rsMiniatruas'];}$startRow_rsMiniatruas = $pageNum_rsMiniatruas * $maxRows_rsMiniatruas;$colname_rsMiniatruas = "-1";if (isset($_GET['album'])) {  $colname_rsMiniatruas = (get_magic_quotes_gpc()) ? $_GET['album'] : addslashes($_GET['album']);}mysql_select_db($database_galeria, $galeria);$query_rsMiniatruas = sprintf("SELECT * FROM fotos WHERE Album_ID = '%s'", $colname_rsMiniatruas);$query_limit_rsMiniatruas = sprintf("%s LIMIT %d, %d", $query_rsMiniatruas, $startRow_rsMiniatruas, $maxRows_rsMiniatruas);$rsMiniatruas = mysql_query($query_limit_rsMiniatruas, $galeria) or die(mysql_error());$row_rsMiniatruas = mysql_fetch_assoc($rsMiniatruas);if (isset($_GET['totalRows_rsMiniatruas'])) {  $totalRows_rsMiniatruas = $_GET['totalRows_rsMiniatruas'];} else {  $all_rsMiniatruas = mysql_query($query_rsMiniatruas);  $totalRows_rsMiniatruas = mysql_num_rows($all_rsMiniatruas);}$totalPages_rsMiniatruas = ceil($totalRows_rsMiniatruas/$maxRows_rsMiniatruas)-1;mysql_select_db($database_galeria, $galeria);$query_rsLogo = "SELECT * FROM logomarca";$rsLogo = mysql_query($query_rsLogo, $galeria) or die(mysql_error());$row_rsLogo = mysql_fetch_assoc($rsLogo);$totalRows_rsLogo = mysql_num_rows($rsLogo);$queryString_rsMiniatruas = "";if (!empty($_SERVER['QUERY_STRING'])) {  $params = explode("&", $_SERVER['QUERY_STRING']);  $newParams = array();  foreach ($params as $param) {	if (stristr($param, "pageNum_rsMiniatruas") == false && 		stristr($param, "totalRows_rsMiniatruas") == false) {	  array_push($newParams, $param);	}  }  if (count($newParams) != 0) {	$queryString_rsMiniatruas = "&" . htmlentities(implode("&", $newParams));  }}$queryString_rsMiniatruas = sprintf("&totalRows_rsMiniatruas=%d%s", $totalRows_rsMiniatruas, $queryString_rsMiniatruas);$queryString_rsFotos = "";if (!empty($_SERVER['QUERY_STRING'])) {  $params = explode("&", $_SERVER['QUERY_STRING']);  $newParams = array();  foreach ($params as $param) {	if (stristr($param, "pageNum_rsFotos") == false && 		stristr($param, "totalRows_rsFotos") == false) {	  array_push($newParams, $param);	}  }  if (count($newParams) != 0) {	$queryString_rsFotos = "&" . htmlentities(implode("&", $newParams));  }}$queryString_rsFotos = sprintf("&totalRows_rsFotos=%d%s", $totalRows_rsFotos, $queryString_rsFotos);$comentarios = "comentarios.php?album=".$row_rsFotos['Album_ID']."&foto=".$row_rsFotos['ID'];$comentar = "comentar.php?album=".$row_rsFotos['Album_ID']."&foto=".$row_rsFotos['ID'];?>

note q o arquivo seguinte é o de conexão com do DB q está na 1º linha do código.

 

<?php# FileName="Connection_php_mysql.htm"# Type="MYSQL"# HTTP="true"$hostname_galeria = "localhost";$database_galeria = "neutrongallery";$username_galeria = "root";$password_galeria = "";$galeria = mysql_pconnect($hostname_galeria, $username_galeria, $password_galeria) or trigger_error(mysql_error(),E_USER_ERROR); ?>

será q com isso dá pra descobrir o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa mas quanta conexão com o BD..Provavelmente é isso, tanta conexão com o banco ta sobrecarregando ou coisa do tipo...Da uma simplificada nessas conexões..Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você abre a conexão com pconnect(), não fecha no final e vai abrindo várias conexões na mesma página.você acumula muitas conexões abertas. Provavelmente é isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.