Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: peib0l en 23 Septiembre 2014, 22:43 PM

Título: [SOLUCIONADO] Call to a member function fetch_array() on a non-object
Publicado por: peib0l en 23 Septiembre 2014, 22:43 PM
Buenas tardes amigos,

Tengo un problema con PHP POO y es que hasta hace 1 semana yo usaba un codigo de esta forma:
Código (php) [Seleccionar]


function listarPrecios(){
$conexion = conexion();
$resultado=$conexion->query("SELECT codigo, descripcion,precio FROM servicios WHERE 1");

while($row=$resultado->fetch_array(MYSQLI_ASSOC)){
echo "<article>";
echo "<div class='big'> ";
echo "<h2><a href='single.php?id_post=".$row['codigo']."'>".$row['descripcion']."</a></h2>";
echo "<p>".$row['precio']."</p>";
echo "</div>";
echo "</article>";
}

}


Pero resulta que ahora ha PHP no le gusta.. y llevo horas buscando que narices le pasa a esto pero no encuentro solución para el problema

Código (php) [Seleccionar]
Call to a member function fetch_array() on a non-object


Posiblemente sea una tonteria.... pero que no lo veo  :-(

Gracias por cualquier información.
Título: Re: Call to a member function fetch_array() on a non-object
Publicado por: EFEX en 23 Septiembre 2014, 23:26 PM
Buscar el error..
Código (php) [Seleccionar]
$resultado=$conexion->query("") or trigger_error($mysqli->error)

O tambien por que no devuelve nada..
Título: Re: Call to a member function fetch_array() on a non-object
Publicado por: peib0l en 23 Septiembre 2014, 23:33 PM
Cita de: EFEX en 23 Septiembre 2014, 23:26 PM
Buscar el error..
Código (php) [Seleccionar]
$resultado=$conexion->query("") or trigger_error($mysqli->error)

O tambien por que no devuelve nada..

Muchas gracias, no sabia que podía controlar los errores asi, pero ya encontré el "error"
Título: Re: Call to a member function fetch_array() on a non-object
Publicado por: peib0l en 23 Septiembre 2014, 23:35 PM
Ya encontré el "error" al parecer es un problema con las dobles comillas ( " " ) en la query, las cambio por comillas simple ( ' ' ) y todo funciona bien

Código (php) [Seleccionar]

$resultado=$conexion->query('select codigo, descripcion, precio from servicios');
Título: Re: [SOLUCIONADO] Call to a member function fetch_array() on a non-object
Publicado por: dimitrix en 24 Septiembre 2014, 01:04 AM
LoooooL

1º Te tendría que funcionar

2º Las palabras reservadas SELECT, FROM, UPDATE, WHERE... en mayúsculas ¡SIEMPRE!

3º Puedes usar las comillas dobles (funcionan), pero quizás luego tenías comillas simples en los SELECT... esto se usa para incluir $variables sin tener que concatenar.

4º Usa Codeigniter con Active Records! xD
Título: Re: [SOLUCIONADO] Call to a member function fetch_array() on a non-object
Publicado por: peib0l en 24 Septiembre 2014, 09:13 AM
Cita de: dimitrix en 24 Septiembre 2014, 01:04 AM

2º Las palabras reservadas SELECT, FROM, UPDATE, WHERE... en mayúsculas ¡SIEMPRE!

3º Puedes usar las comillas dobles (funcionan), pero quizás luego tenías comillas simples en los SELECT... esto se usa para incluir $variables sin tener que concatenar.

solo me funciona con comilla simple y las sentencias en minuscula XD
Título: Re: [SOLUCIONADO] Call to a member function fetch_array() on a non-object
Publicado por: dimitrix en 24 Septiembre 2014, 14:25 PM
¿Es tu código?

Quizás tengas alguna palabra del select declarada (que no reservada) en PHP.

Eso podría hacer que te fallara.
Título: Re: [SOLUCIONADO] Call to a member function fetch_array() on a non-object
Publicado por: Pablo Videla en 24 Septiembre 2014, 16:38 PM
Muestranos tu metodo query() de tu clase conexion y ahí veremos el problema.