Foros del Web » Programando para Internet » PHP »

warning en mysql_query()

Estas en el tema de warning en mysql_query() en el foro de PHP en Foros del Web. tengo el sgte error y nose porque . Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/html/sae/php/dbcontroller.php on line 24 MySQL Error: ...
  #1 (permalink)  
Antiguo 21/11/2011, 11:12
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 6 meses
Puntos: 1
warning en mysql_query()

tengo el sgte error y nose porque .

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/html/sae/php/dbcontroller.php on line 24
MySQL Error:

este es el codigo y la linea 24 es la sgte:
Cita:
$resultado=mysql_query($consulta,$this->link);
DBcontroller.php
Código PHP:
class DBController{
    
    private 
$link;
    private 
$total_consultas;
    
    public function 
__construct(){
        
mb_internal_encoding("UTF-8");
        
mb_regex_encoding("UTF-8");

        
$this->link mysqli_connect(DB_SERVERDB_USERDB_PASS,DB_NAME);
        if (
mysqli_connect_errno()) {
            exit();
        }
    }
    public function 
consulta($consulta){
        
$this->total_consultas++;
        
$resultado=mysql_query($consulta,$this->link);
            if(!
$resultado){
                echo 
'MySQL Error:' mysql_error();
                exit;
            }
        return 
$resultado;
    }
    
    public function 
fetch_array($consulta){
        return 
mysql_fetch_array($consulta);
    }
    
    public function 
num_rows($consulta){
        return 
mysql_num_rows($consulta);
    }
    
    public function 
getTotalConsultas(){
        return 
$this->total_consultas;
    }
    public function 
__destruct() {
        
$this->disconnect();
    } 
  #2 (permalink)  
Antiguo 21/11/2011, 11:51
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: warning en mysql_query()

Estas utilizando la clase de mysqli para mysql, te recomiendo utilizar siempre lo mismo para toda la clase, ahi estas mezclando la conexion con mysqli, y para realizar las consultas mysql plano, proba de utilizar mysqli para todo y esta tiene su forma de utilizar el mysql_query(), aca te dejo la documentacion:

http://www.php.net/manual/es/mysqli.query.php

Capaz genere conflicto utilizar la clase mysqli y despues usar mysql plano, porque la conexion a la base ya la guarda en un objeto de por si, y gracias a sus metodos te olvidas de pasarle la conexion porque ya la conoce.

Proba de usar todo mysqli en toda tu clase y cualquier cosa avisame ;)

Saludos!
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 21/11/2011, 18:14
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: warning en mysql_query()

Cita:
Proba de usar todo mysqli en toda tu clase y cualquier cosa avisame ;)
el problema era que en los demas modulos no funcionaba
cambie :
mysql_connect
mysql_fetch_array
mysql_num_rows
mysql_select_db
mysql_query

por:
mysqli_connect
mysqli_fetch_array
mysqli_num_rows
mysqli_select_db
mysqli_query

chevre! LINUXZERO
  #4 (permalink)  
Antiguo 22/11/2011, 05:07
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: warning en mysql_query()

Postea el codigo nuevo ya modificado con mysqli.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #5 (permalink)  
Antiguo 22/11/2011, 08:51
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: warning en mysql_query()

Código PHP:
class DBController{
    
    private 
$link;
    private 
$total_consultas;
    
    public function 
__construct(){
        
mb_internal_encoding("UTF-8");
        
mb_regex_encoding("UTF-8");
        if(!isset(
$this->link)){
            
$this->link = (mysqli_connect(DB_SERVERDB_USERDB_PASSDB_NAME)) or die(mysql_error());
        }
    }
        
    public function 
consulta($consulta){
        
$this->total_consultas++;
        
$resultado=mysqli_query($this->link,$consulta);
            if(!
$resultado){
                echo 
'MySQL Error:' mysql_error();
                exit;
            }
        return 
$resultado;
    }
    
    public function 
fetch_array($consulta){
        return 
mysqli_fetch_array($consulta);
    }
    
    public function 
num_rows($consulta){
        return 
mysqli_num_rows($consulta);
    }
    
    public function 
getTotalConsultas(){
        return 
$this->total_consultas;
    }

  #6 (permalink)  
Antiguo 22/11/2011, 08:59
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: warning en mysql_query()

Lee la documentacion de mysqli de php porque esta linea ya esta mal:

Código PHP:
Ver original
  1. $resultado=mysqli_query($this->link,$consulta);

Aca te dejo el link con la documentacion de como realizar consultas en mysqli:
http://www.php.net/manual/es/mysqli.query.php

Lee todo bien, fijate que no estas haciendo como deberia.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #7 (permalink)  
Antiguo 22/11/2011, 10:43
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: warning en mysql_query()

SI! faltaba el select y a eso te refieres :
Código PHP:
include ("php/dbcontroller.php");
        
$db=new DBController();
        
$consulta=$db->consulta("SELECT {$secciones[$seccion][3]} FROM {$secciones[$seccion][0]} WHERE {$secciones[$seccion][1]}={$secciones[$seccion][2]}") or die (mysql_error());
        if(
$db->num_rows($consulta)>0){
            while (
$resultado=$db->fetch_array($consulta)){
                echo 
utf8_encode($resultado[0]);
            }
        } 

Etiquetas: html, mysql, sql, warning
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 20:34.