Foros del Web » Programando para Internet » PHP »

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource

Estas en el tema de Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource en el foro de PHP en Foros del Web. Buenas: Estoy trabajando en una página. La página esta hecha de manera modular , y me fijo que va muy lenta y de repente da ...
  #1 (permalink)  
Antiguo 21/10/2010, 08:57
 
Fecha de Ingreso: mayo-2010
Mensajes: 19
Antigüedad: 13 años, 10 meses
Puntos: 0
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource

Buenas:

Estoy trabajando en una página. La página esta hecha de manera modular , y me fijo que va muy lenta y de repente da error , no es siempre en el mismo sitio por lo que parece algo que no estubiera bien programado a la hora de conectarse a la base de datos , la persistencia de las variables o algo así .

¿Teneis idea porque dice que un parametro no hay lo que se espera? ¿porque sólo pasa a veces? ¿Puede ser cosa de inestabilidad del server? (por eso de que es aleatorio)

el fallo que me salta es :


Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /usr/home/nortevalles.es/web/tanuki/class/conexion.php on line 78



<?

class Conexion{

//Atributos de la clase conexion
var $cadenaConexion;

//Constructor de la clase conexion
function Conexion(){
$conf = new config();



if(isset($_SESSION["oConn"]) && $_SESSION["oConn"]){
$this->cadenaConexion = $_SESSION["oConn"];
$lugar = "Usando sesion";

if($this->cadenaConexion === false){
echo "No se pudo conectar a la base de datos";
exit;
}
}else{

if(@mysql_pconnect( $conf->_bd_servidor, $conf->_bd_usuario , $conf->_bd_password)){
$this->cadenaConexion = mysql_pconnect($conf->_bd_servidor, $conf->_bd_usuario , $conf->_bd_password);
$_SESSION["oConn"] = $this->cadenaConexion;
if(!$this->cadenaConexion === false){
$lugar = "Creando conexion y guardando en sesion";

if(mysql_select_db($conf->_bd_base_datos,$this->cadenaConexion)){
@mysql_query("SET NAMES 'utf8'");
unset($conf);
}else{
echo "No se pudo conectar a la base de datos";
exit;
}

}
}else{
return false;
echo "No se pudo conectar a la base de datos";
exit;
}
}


}


function ejecutar_devolviendo($sql){
mysql_query($sql,$this->cadenaConexion);

if (mysql_errno()!=0) {
echo "<br><b>Error ".mysql_errno()." : ".mysql_error()."</b><br>" ;
echo $sql."<br>";
}else{
return mysql_insert_id();
}

}

function ejecutar($sql){
//echo $sql."<br>";


mysql_query($sql,$this->cadenaConexion);
if (mysql_errno()!=0) {
echo "<br><b>Error ".mysql_errno()." : ".mysql_error()."</b><br>" ;
echo $sql."<br>";
}else{
return true;
}


}

function _ejecutar_($sql){
78 return mysql_query($sql,$this->cadenaConexion); //Esta es la linea que falla

}


function destruir(){
mysql_close($this->cadenaConexion);
unset ($this);
}

//Fin del class de conexin
}
?>
  #2 (permalink)  
Antiguo 21/10/2010, 09:37
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Warning: mysql_query(): supplied argument is not a valid MySQL-Link resour

Hola,
Solo un detalle, yo nunca lo hice con "var" al declarar la variable. Probaste con usar private? Capaz que nada que ver el error, pero solo para sacarme la duda.

Un saludo.
__________________
Freelance - Aplicaciones Web
  #3 (permalink)  
Antiguo 21/10/2010, 10:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Warning: mysql_query(): supplied argument is not a valid MySQL-Link resour

¡por el amor de PHP!!

se supone que una conexión a base de datos genera un tipo #resource, y viene bien dicho en el manual que los #resources no pueden almacenarse en sesión, no pueden serializarse, no debería hacerse...

¿me pregunto si todo el lío sera por esto?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 21/10/2010, 12:19
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 3
Respuesta: Warning: mysql_query(): supplied argument is not a valid MySQL-Link resour

Por hay vi en critalab como conectarse a una BD usando clases como en tu caso, mejor utiliza esa opcion, tu codigo, le veo mucho lio...
Y a lo mejor es por eso del link a la BD que es del tipo #resource, mejor no mandes el link a una variables de sesion, mejor al conectarte a la BD en tu codigo manda a llamar a la funcion que te permite conectarte y extrae la variable que tiene el link.

Por hay tengo un codigo usando una funcion para conectarse a la BD y esta muy sencillo, pero es eficiente y al menos a mi me a funcionado a la perfeccion.

Saludos!!

Etiquetas: warning, argumentos
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:21.