Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] error: Call to a member function query() on null

Estas en el tema de error: Call to a member function query() on null en el foro de PHP en Foros del Web. Muy buenas a todos, estoy empezando un proyectico en PHP y me ha saltado el siguiente error: Call to a member function query() on null ...
  #1 (permalink)  
Antiguo 18/05/2016, 13:25
 
Fecha de Ingreso: agosto-2015
Ubicación: Bogotá D.C
Mensajes: 5
Antigüedad: 9 años, 4 meses
Puntos: 0
Pregunta error: Call to a member function query() on null

Muy buenas a todos, estoy empezando un proyectico en PHP y me ha saltado el siguiente error: Call to a member function query() on null no se a que se deba, espero alguien con más experiencia pueda ayudarme, a continuación dejo el código:

Código PHP:
<?php

class conectarDB{
    private 
$db;
    public function 
Conectar(){       
        
$this->db = new mysqli('localhost''root''''prueba');
         if(
$this->db->connect_errno 0)
        {
        die(
'Imposible conectar [' $this->db->connect_error ']');
        }           
    }
    public function 
ejecutar($sentence){
        
$result=$this->db->query($sentence) or die($this->db->error.__LINE__);    //el error es en este línea//
        
return $result;
    }
}
Código PHP:
<?php
require_once 'conectarDB.php';
class 
administradorDAO{

    function 
insertarAdministrador($nombre$Contrasena){
        
$con = new conectarDB();
        
$sentencia "insert into administradores(Nombre, Contrasena) values ($nombre, $Contrasena)";
        
$consulta=$con->ejecutar($sentencia);
        return 
$consulta;
    }
}
Código PHP:
<?php
require_once '../../AccesoDatos/administradorDAO.php';

class 
administradorDTO{

function 
insertar($user$pass){
    
$empleadodao = new administradorDAO();
    
$resul $empleadodao->insertarAdministrador($user$pass);        
        return 
$resul;
    }
}

Código HTML:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="htf-8">
		<title>inicio</title>
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
	</head>
	<body>
		<div id="divPrincipal">
			<div id="divTitulo">
				Principal
			</div>
			<input type="text" id="UserName" placeholder="Usuario">
			<input type="text" id="password" placeholder="contraseña">
			<input type="button" id="btnGuardar" Nombre="Guardar" value="guardar">
		</div>
		<script src="Presentacion/JS/scripts.js"></script>
	</body>
</html> 
Código:
$(document).ready(function(){    

	$("#btnGuardar").click(function(){
		var user = $("#UserName").val();
		var pass = $("#password").val(); 
		var params = {userName:user, password:pass}
		$.ajax({
			type: 'POST',
			url: 'Presentacion/phpScript/scriptInsertAdmon.php',
			data: params
		}).done(function(response){
			alert(response);
		});
	});
});
  #2 (permalink)  
Antiguo 18/05/2016, 13:40
 
Fecha de Ingreso: mayo-2016
Mensajes: 1
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: error: Call to a member function query() on null

Hola;

Parece ser que el error que te aparece es porque la variable $this->db en el método ejecutar de la clase conectarDB no se está inicializando, supongo que has confundido el nombre del constructor "Conectar", debería ser "conectarDB". Porque cuando creas el objeto $con = new conectarDB(); en el método insertarAdministrador de la clase administradorDAO no estás llamando nunca el método Conectar.
  #3 (permalink)  
Antiguo 18/05/2016, 13:55
 
Fecha de Ingreso: agosto-2015
Ubicación: Bogotá D.C
Mensajes: 5
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: error: Call to a member function query() on null

Muchas gracias por la pronta respuesta, solucionado!

Etiquetas: call, function, html, mysql, null, query
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:22.