Foros del Web » Programando para Internet » PHP »

PHP OO Error function query() on a non-object

Estas en el tema de Error function query() on a non-object en el foro de PHP en Foros del Web. Buenas tardes, soy nuevo en esto y tengo un problema que no se solucionar y por más que he buscado no logro encontrar la solución. ...
  #1 (permalink)  
Antiguo 27/07/2014, 08:02
 
Fecha de Ingreso: julio-2014
Ubicación: madrid
Mensajes: 3
Antigüedad: 10 años, 4 meses
Puntos: 0
Error function query() on a non-object

Buenas tardes, soy nuevo en esto y tengo un problema que no se solucionar y por más que he buscado no logro encontrar la solución.
Tengo dos funciones conectadas a una base de datos mysql que sacan datos de la base. Las funciones me funcionan correctamente ejecutandolas de forma separada pero cuando ejecuto las dos funciones al mismo tiempo me sale este error.
Fatal error: Call to a member function query() on a non-object in /public_html/9/funci.php on line 29
Resulta que la función que se llama en segundo tiempo no se ejecuta, dando siempre el mismo error.
Os paso el código por si no os importa ayudarme.

<?php
function datosafiliado(){
include_once 'inc/co.php';

$datosafi=$conexion->query("select * from us_offlinemeta");
while($afiliado=$datosafi->fetch_array(MYSQLI_ASSOC)){

//echo $usuario;
//echo $comision;
$usur=$afiliado['nombre'];
}
return $usur;
$datosafi->close();
}

function segunda(){
include_once 'inc/co.php';


$cojoafi=$conexion->query("select * from us_offlinemeta");
while($todoafi=$cojoafi->fetch_array(MYSQLI_ASSOC)){
$comisionafi=$todoafi['comision'];
//echo $usuario;
//echo $comision;

}
return $comisionafi;
$cojoafi->close();
}
?>

El archivo donde ejecuto las funciones es:

<?php

require_once 'funci.php';
echo datosafiliado();
echo "<br>";

echo segunda();

?>

Es un ejemplo simplificado ya que he intentado ver como solucionar el error pero no he podido. Me gustaría entender en que estoy fallando.

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 27/07/2014, 10:21
Kash
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error function query() on a non-object

$conexion->query


Has inicializado la clase con esa variable? Viendo simplemente el codigo que muestras la variable $conexion aparece de la nada.

Algo asi como $conexion = new DB();

El error que da es simplemente que la variable $conexion no tiene ningun procedimiento llamado query, por lo que deduzco que no estas utilizando la class correcta.




Nota: Utilizo teclado ingles, sorry por la falta de tildes y simbolos espanyoles.
  #3 (permalink)  
Antiguo 27/07/2014, 12:07
 
Fecha de Ingreso: julio-2014
Ubicación: madrid
Mensajes: 3
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Error function query() on a non-object

Hola KasH
$conexión esta declarado en el archivo llamado co.php al que llamo al principio de la función que mostre anteriormente por lo que sí que estoy definiendo a la variable... o no?

<?php
define("HOST", "localhost"); // El alojamiento al que deseas conectarte
define("USER", "******"); // El nombre de usuario de la base de datos
define("PASSWORD", "*******"); // La contraseña de la base de datos
define("DATABASE", "*******"); // El nombre de la base de datos

define("CAN_REGISTER", "any");
define("DEFAULT_ROLE", "member");

define("SECURE", FALSE);

$conexion = new mysqli(HOST, USER, PASSWORD, DATABASE);
//print_r($conexion);
if($conexion->connect_errno){
echo "error no conecta";

}
else{
echo "si conecta";
}

?>
  #4 (permalink)  
Antiguo 28/07/2014, 01:15
 
Fecha de Ingreso: julio-2014
Ubicación: madrid
Mensajes: 3
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Error function query() on a non-object

Ok!! lo encontre, tenías razon.

Muchísimas gracias
  #5 (permalink)  
Antiguo 05/02/2015, 10:41
 
Fecha de Ingreso: agosto-2005
Mensajes: 24
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Error function query() on a non-object

Buenas Tardes,
disculpar mi ignorancia, pero llevo unas horas intentando ver el problema y no lo encuentro.
El problema que tengo es como el que comentáis.

Pagina ("config.inc.php");
donde defino los datos de conexion al servidor MYSQL
$dbhost="localhost";
$dbname="web";
$dbuser="userweb";
$dbpass="xxxx";
$tablaCabReservas="masR_CabezeraReservas";
$tablaLinReservas="masR_LiniasReservas";
$tablaUsuarios="masvR_usuariosReservas";
$tablaMaestros="masvR_maestrosReservas";
$db = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
if ($db->connect_errno) {
die ("<h1>Fallo al conectar a MySQL: (" . $db->connect_errno . ") " . $db->connect_error."</h1>");
}

en la pagina calendario.php hago un include de esta pagina
include("config.inc.php");


en cuanto hago una función nueva en la que quiero hacer una consulta al servidor MYSQL me aparece el error.

Fatal error: Call to a member function query() on a non-object in

repito esto me pasa si hago una funcion nueva, si hago una consulta dentro de la funcion principal, no tengo ningun problema.

he probado de hacer dentro de Pagina ("config.inc.php");
otra nueva conexión, pero me sigue dando el mismo error.

Etiquetas: function, html, mysql, query, select, sql
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 07:00.