Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Estancado con un warning en mysql

Estas en el tema de Estancado con un warning en mysql en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenos dias chavales. Estaba programando una clase para operaciones con Mysql y a la hora de probarlo me da el error: Warning: mysql_query(): supplied argument ...
  #1 (permalink)  
Antiguo 05/09/2008, 01:41
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Exclamación Estancado con un warning en mysql

Buenos dias chavales. Estaba programando una clase para operaciones con Mysql y a la hora de probarlo me da el error:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\users\class.mysql.php on line 37

El tema esque he estado buscando por el foro y la gente ha tenido este problema pero he revisado todo y no es mi caso. Os dejo mis archivos de codigo a ver si alguien me puede echar una mano

Código:
CREATE TABLE login (
   id int(9) NOT NULL auto_increment,
   usuario varchar(32) NOT NULL,
   password varchar(32) NOT NULL,
   level int(1) DEFAULT '0' NOT NULL,
   id_ses varchar(40) NOT NULL,
   PRIMARY KEY (id)
);
Código:
<?php

/**
 * @author 
 * @copyright 2008
 */

class Servidor_Base_Datos
{
    private $servidor;
    private $usuario;
    private $pass;
    private $base_datos;
    private $descriptor;

    function _construct($servidor, $usuario, $pass, $base_datos)
    {
        $this->servidor = $servidor;
        $this->usuario = $usuario;
        $this->pass = $pass;
        $this->base_datos = $base_datos;
        $this->conectar_base_datos();
    }
    
    
    //Función privada para conectar con la base de datos
    function conectar_base_datos()
    {
        $this->descriptor = mysql_connect($this->servidor, $this->usuario, $this->pass);
        mysql_select_db($this->base_datos, $this->descriptor);
    }
    
    
    //Función para realizar consultas en la base de datos
    public function consulta($consulta)
    {
        $this->resultado = mysql_query($consulta, $this->descriptor);
    }
    
    
    //Extrae registros seleccionados
    public function extraer_registro()
    {
        if ($fila = mysql_fetch_array($this->resultado, MYSQL_ASSOC)) {
            return $fila;
        } else {
            return false;
        }
    }
    
    
    //Cuenta los registros que coinciden con la condiciones
    public function numero_filas()
    {
    	return mysql_num_rows($this->resultado);
    }
}
?>
Código:
<?php

/**
 * @author 
 * @copyright 2008
 */
include_once"config.inc.php";
include_once"class.mysql.php";


$form_user = $_POST["usuario"];
$form_pass = $_POST["pass"];

$insertar = "INSERT INTO login (usuario,password) VALUES ('$form_user','$form_pass')";
$usuario = new Servidor_Base_Datos($servidor,$usuario,$pass,$base_datos);
$usuario->consulta($insertar);

?>
Y los datos de conexión estan bien, no entiendo que sucede, he comprobado todo y no veo el problema.

Gracias por adelantado y un saludo
  #2 (permalink)  
Antiguo 05/09/2008, 01:56
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: Estancado con un warning en mysql

esa llamada de atención es cuando quieres extraer información de una consulta realizada anteriormente (mysql_num_rows($consulta), por ejemplo). Se debe a que la consulta no devuelve información alguna porque es incorrecta (campo incorrecto, falta de permisos...) lo que tienes que hacer es revisar la query que utilizas.

Creo que es porque insertas campos Null en tipo NOT NULL al no definirles su valor (tampoco por defecto, en ese caso no creo que lo diera).

Para comprobarlo mejor muestra el mysql_error()
  #3 (permalink)  
Antiguo 05/09/2008, 08:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Estancado con un warning en mysql

Cambia esta linea:
Código PHP:
$this->descriptor mysql_connect($this->servidor$this->usuario$this->pass) or die( "Error de conexion: " mysql_error() ); 
y verifica si se esta conectando correctamente.

Saludos.
  #4 (permalink)  
Antiguo 05/09/2008, 08:51
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estancado con un warning en mysql

¿no será el _ faltante en "_construct"? Debería ser __construct()
  #5 (permalink)  
Antiguo 05/09/2008, 10:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Estancado con un warning en mysql

Cierto Alvlin, no habia caido en que le faltaba el otro _

Tema trasladado a PHP Orientado a Objetos.
  #6 (permalink)  
Antiguo 10/09/2008, 03:40
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Estancado con un warning en mysql

Gracias a todos por las respuestas, voy a probar todo para la version 2.0, jejeje xq al final lo he hecho chungamente, jejej. Pero weno...Ya os cuento

Un saludote del yeikh
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 04:05.