PHP - PHP Fatal error: Call to a member function query() on null

 
Vista:
Imágen de perfil de Claudio G
Val: 28
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP Fatal error: Call to a member function query() on null

Publicado por Claudio G (70 intervenciones) el 02/03/2017 21:32:18
Hola a todos.

tengo el siguiente inconveniente que no puedo solucionar, he visto muchas paginas donde se refieren al error sin encontrar la solución, estoy utilizando en local php 7 y Online PHP Version 5.6.30. En local solo muestra los echo y Online igual pero en el archivo log muestra el siguiente mensaje: PHP Fatal error: Call to a member function query() on null in /home/goconsul/public_html/pruebas/prueba.php on line 12

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
require_once("conexion.php");
try {
    echo 'dentro de TRY';
    # Para ejecutar la consulta SELECT si no tenemos parámetros en la consulta podremos usar ->query() 
 
LINEA 12    $con = $pdo->query('select * from spc_clientes');
 
    # Indicamos en qué formato queremos obtener los datos de la tabla en formato de array asociativo.
    # Si no indicamos nada por defecto se usará FETCH_BOTH lo que nos permitirá acceder como un array asociativo o array numérico.
    $con->setFetchMode(PDO::FETCH_ASSOC);
    # Leemos los datos del recordset con el método ->fetch() 
    while ($row = $con->fetch()) {
        echo $row['rut'] . "<br/>";
        echo $row['empresa'] . "<br/>";
        echo $row['mail'] . "<br/>";
    }
 
    # Para liberar los recursos utilizados en la consulta SELECT
    $con = null;
} catch (PDOException $err) {
    // Mostramos un mensaje genérico de error.
    echo "Error: ejecutando consulta SQL.";
}


el archivo de coneccion es el siguiente
1
2
3
4
5
6
7
8
9
10
11
12
13
hostname = 'localhost';
$database = 'database';
$username = 'usuario';
$password = '';
 
// conectando con pdo
try {
    $con = new PDO('mysql:host=' . $hostname . ';dbname=' . $database, $username, $password);
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "ya estoy conectado <br/>";
} catch (PDOException $e) {
    echo "¡Error!: " . $e->getMessage();
}
por favor si alguien sabe como ayudarme estaré muy agradecido
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

PHP Fatal error: Call to a member function query() on null

Publicado por kip (877 intervenciones) el 02/03/2017 22:39:36
Hola, se debe a que llamas al metodo query en una variable no definida en tu cas $pdo, deberias usar $con donde instancias la clase PDO (en el archivo de conexion) para hacer uso de sus metodos, intenta cambiando la linea por esta:

1
$query= $con->query('select * from spc_clientes');

Ahora $query es el objeto PDOStament a este puedes llamar los metodos que tienen que ver con el conjunto de resultados (http://php.net/manual/es/class.pdostatement.php) :

1
2
3
4
5
6
7
8
9
    # Indicamos en qué formato queremos obtener los datos de la tabla en formato de array asociativo.
    # Si no indicamos nada por defecto se usará FETCH_BOTH lo que nos permitirá acceder como un array asociativo o array numérico.
    $query->setFetchMode(PDO::FETCH_ASSOC);
    # Leemos los datos del recordset con el método ->fetch() 
    while ($row = $query->fetch()) {
        echo $row['rut'] . "<br/>";
        echo $row['empresa'] . "<br/>";
        echo $row['mail'] . "<br/>";
    }

Prueba y nos cuentas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Claudio
Val: 28
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP Fatal error: Call to a member function query() on null

Publicado por Claudio (70 intervenciones) el 03/03/2017 13:20:44
Excelente, todo ok, leí varios tutoriales de PDO y era como salia en varios, tengo un script que envía mensajes de vencimiento en cron y dejaron de funcionar, por ende tengo que cambiar a PDO o MSQLI y encuentro mejor PDO, por lo que he leído.

Muchas gracias por tu ayuda, seguire tratando de solucionar mi script de cron
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP Fatal error: Call to a member function query() on null

Publicado por Erna Tercero (1 intervención) el 01/04/2018 07:36:27
Hola!

Lograste resolver tu problema? yo tengo la versión de PHP 5.5, y tengo el mismo problema al intentar preparar mi querrá:

1
2
3
4
5
6
public function obtenerArticulos(){
 
	$this->db->query("SELECT * FROM articulos");
 
	return $this->db->registros();
}

y me envia justamente el error en la linea de query con:

Fatal error: Uncaught Error: Call to a member function query() on null in /Applications/XAMPP/xamppfiles/htdocs/MVC_CRUD_PHP/app/modelos/Articulo.php:12 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/MVC_CRUD_PHP/app/controladores/paginas.php(15): Articulo->obtenerArticulos() #1 /Applications/XAMPP/xamppfiles/htdocs/MVC_CRUD_PHP/app/librerias/Core.php(43): Paginas->index() #2 /Applications/XAMPP/xamppfiles/htdocs/MVC_CRUD_PHP/public/index.php(6): Core->__construct() #3 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/MVC_CRUD_PHP/app/modelos/Articulo.php on line 12
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Claudio
Val: 28
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP Fatal error: Call to a member function query() on null

Publicado por Claudio (70 intervenciones) el 01/04/2018 13:20:49
La verdad ya no recuerdo, tengo que haberlo solucionado, pero no recuerdo como.

Y por lo que me comentas, en algún momento deje de utilizar php 5 pasando al 7 y si ese fuera el caso, te cuento como se soluciona:

En el servidor local tengo instalado la versión 7.1 y online se cambian las versiones atravez de cpanel, y en tus proyectos, según que editor uses debes cambiarle las propiedades y poner que vas a utilizar la versión 7, yo utilizo netbeans,

Espero que te sirva de algo.

Un Cordial saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP Fatal error: Call to a member function query() on null

Publicado por Erik Vargas (1 intervención) el 31/08/2022 12:52:31
$query= $con->query('select * from spc_clientes');


Hola acabo de leer tu comentario y me ayudo de mucho, espero poder encontrar mas soluciones como estas, ya que unas ya estan desactualizadas, exito!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar