Foros del Web » Programando para Internet » PHP »

porque @mysql_query

Estas en el tema de porque @mysql_query en el foro de PHP en Foros del Web. He leído en las FAQ PHP - Pagina 3 - post #74, (no puedo enlazar) el siguiente código Código PHP: <?  /* Ruta donde se encuentra el archivo  que contiene la dirección de email a  donde se reportarán errores si estos  suceden */  ...
  #1 (permalink)  
Antiguo 26/05/2008, 23:43
 
Fecha de Ingreso: enero-2006
Mensajes: 18
Antigüedad: 18 años, 2 meses
Puntos: 1
porque @mysql_query

He leído en las FAQ PHP - Pagina 3 - post #74, (no puedo enlazar)
el siguiente código
Código PHP:
<? 

/* Ruta donde se encuentra el archivo 
que contiene la dirección de email a 
donde se reportarán errores si estos 
suceden */ 

$rutaemail "email.php";  
include(
$rutaemail);   
  

/* Ruta donde se encuentra el archivo 
donde se realiza la conexión a la 
base de datos */ 
  
$rutadeacceso "usuario.php";   
include(
$rutadeacceso);   
  
$basededatos "nombredelabasededatos"// Nombre de la Base de Datos   

if ($resultadoconnect != 0
    { 
    
$resultadoselectdb = @mysql_select_db("$basededatos"$vinculo); 
    if (
$resultadoselectdb != 0
        { 
        
$numero 10// Número de resultados listados, si se quieren ver 20 resultados sólo se cambia el valor de 10 a 20. 
        
if ( $v_next == 0
        
$v_next 0

        
$tabla "nombredelatabla"
                
$elcampo "nombredelcampo"
        
$sql "select * from $tabla where $elcampo like '%$palabraclave%' LIMIT ".$v_next.",".$numero.""// $palabraclave es la variable que recibe. 

        
$resultadoquery= @mysql_query($sql); 

        if (
$resultadoquery != 0
            { 
            if (
$fila = @mysql_fetch_array($resultadoquery))   
                { 
                                echo 
"<html><body>"
                echo 
"<table border='1' align='left' cellspacing='2' cellpadding='2'>"
                echo 
"<tr><td><b>Resultados</b></td></tr>"
                do 
                    { 
                    echo 
"<tr><td>"
                    echo 
$fila["nombredelcampo"]; // Campo de la tabla que se quiere mostrar. 
                    
echo "<td></tr>"
                    
$v_next++; 
                    } 
                while(
$fila = @mysql_fetch_array($resultadoquery)); 

                
$sql2 "select count(*) num_reg from $tabla where $elcampo like '%$palabraclave%'"// Averiguate para que sirve el count(*).  
                
$resultadoquery2=@mysql_query($sql2); 
                
$fila2 = @mysql_fetch_array($resultadoquery2); 
                
$num_reg $fila2["num_reg"]; 

                
$num_pag $num_reg/$numero
                
$j 1
                
$v_next 0

                echo 
"<tr><td>&nbsp;</td></tr>"
                echo 
"<tr><td>N&uacute;mero de Resultados: <b>$num_reg</b></td></tr>"
                echo 
"<tr><td>&nbsp;</td></tr>"
                echo 
"<tr><td>"
                for (
$i=0$i<$num_pag$i++) 
                    { 
                    echo 
" | <a href=$PHP_SELF?v_next=".$v_next."&palabraclave=".$palabraclave.">".$j."</a>"
                    
$j++; 
                    
$v_next += $numero
                    } 
                echo 
"</td></tr>"
                echo 
"</table>"

                @
mysql_free_result($resultadoquery); 
                } 
            else 
                { 
                echo 
"<p align='center'>No se encontraron registros</p>"
                } 
            } 
        else 
            { 
            echo 
"<p align='center'>Ha ocurrido un error!, Fall&oacute; operaci&oacute;n SQL</p>"
            
// Reportar al webmaster del error 
            
error_log("Ha ocurrido un error!\n\nFalló operación SQL en la tabla: $tabla, base de datos: $basededatos.\nScript: nombredelscript.php"1"$email"); 
            } 
        } 
    else 
        { 
        echo 
"<p align='center'>Ha ocurrido un error!, Fall&oacute; la selecci&oacute;n de la base de datos</p>"
        
// Reportar al webmaster del error. 
        
error_log("Ha ocurrido un error!\n\nFalló la selección de la base de datos: $basededatos.\nScript: nombredelscript.php"1"$email"); 
        @
mysql_close($vinculo); 
        } 
    } 
else 
    { 
    echo 
"<p align='center'>Ha ocurrido un error!, Fall&oacute; la conexi&oacute;n a la base de datos</p>"
    
// Reportar al webmaster del error. 
    
error_log("Ha ocurrido un error!\n\nFalló la conexión a la base de datos: $basededatos.\nScript: usuario.php"1"$email"); 
    } 
        echo 
"</body></html>"
?>
Pero, mi pregunta no es sobre el código en sí, sino que deseo saber porqué usa un @ delante de las funciones de mysql, cuándo se debe usar esto?
Gracias...
  #2 (permalink)  
Antiguo 26/05/2008, 23:47
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Sonrisa Respuesta: porque @mysql_query

no solo en mysql tambien en php
y se que es para no mostrar errores en pantalla

aqui un ejemplo

http://www.desarrolloweb.com/faq/car...odigo-php.html
saludos
__________________
gerardo

Última edición por chalchis; 26/05/2008 a las 23:57
  #3 (permalink)  
Antiguo 27/05/2008, 00:16
 
Fecha de Ingreso: enero-2006
Mensajes: 18
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: porque @mysql_query

ah.. OK, voy a ver entonces...
Gracias
  #4 (permalink)  
Antiguo 27/05/2008, 00:20
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: porque @mysql_query

Permite disimular los errores... pero puedes usar tambien una forma simple para conocer tus errores

ejemplo
// 1900 : no se pudo hacer la consulta adecuadamente existe un error SQL,No existe variable, Error de sintax

mysql_query() or die('error 1900');
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:31.