Código PHP:
class manejadordb
{
public $conexion;
public $conexion_servidor= "localhost";
public $conexion_usuario= "zamblo";
public $conexion_contrasena= "pass";
public $conexion_bd= "pokemonrpg";
public function __construct()
{
$this->Conectar();
}
//Realizar conexion a la base de datos
public function Conectar()
{
$this->conexion= mysql_connect($this->conexion_servidor, $this->conexion_usuario, $this->conexion_contrasena);
mysql_select_db($this->conexion_bd, $this->conexion);
mysql_query ("SET NAMES 'utf8'");
}
//Realizar consulta a la base de datos
public function Consulta($datos)
{
$resultado= mysql_query($datos, $this->conexion);
//echo mysql_errno($this->conexion).": ".mysql_error($this->conexion);
return $resultado;
}
//Devolver resultado de un campo de consulta a la base de datos
public function ResultadoConsulta($consulta)
{
$resultado= mysql_result($consulta, 0);
//echo mysql_errno($this->conexion).": ".mysql_error($this->conexion);
return $resultado;
}
//Devolver array de datos de consulta a la base de datos
public function ArrayConsulta($consulta)
{
$resultado= mysql_fetch_array($consulta);
//echo mysql_errno($this->conexion).": ".mysql_error($this->conexion);
return $resultado;
}
//Devolver array numerico de datos de consulta a la base de datos
public function ArraynumConsulta($consulta)
{
$resultado= mysql_fetch_row($consulta);
//echo mysql_errno($this->conexion).": ".mysql_error($this->conexion);
return $resultado;
}
//Devolver numero de filas de consulta a la base de datos
public function FilasConsulta($consulta)
{
$resultado= mysql_num_rows($consulta);
//echo mysql_errno($this->conexion).": ".mysql_error($this->conexion);
return $resultado;
}
}
Código PHP:
//Manejador base de datos
include_once("clases/manejadordb.php"); //La incluyo <---
if (!isset($db)) $db= new manejadordb; //Si ya no esta creada, la creo <---
require("xajax/nucleo/xajax_core/xajax.inc.php");
$xajax= new xajax();
$xajax->configure('javascript URI', 'xajax/nucleo');
$xajax->setCharEncoding('utf-8');
$xajax->configure('debug', true);
/*----
Comprar objeto
----*/
function AccionComprar($objeto_nombre, $objeto_cantidad)
{
$respuesta= new xajaxResponse();
//<--- Aqui la intento utilizar
$dinero= $db->ResultadoConsulta($db->Consulta("SELECT dinero FROM pokemonrpg_cuenta WHERE nombre='{$_COOKIE[pokemonrpg_jugador_cuenta]}'"));
//---->
$obtener_coste= mysql_result(mysql_query("SELECT coste FROM pokemonrpg_objeto WHERE nombre='$objeto_nombre'"), 0);
$coste= $obtener_coste * $objeto_cantidad;
if ($dinero>= $coste)
{
//Retiramos dinero
mysql_query("UPDATE pokemonrpg_cuenta SET dinero= dinero - $objeto_coste WHERE nombre='{$_COOKIE[pokemonrpg_jugador_cuenta]}'");
//Insertamos objeto
include('funciones/juego/objetos/InsertarObjeto.php');
InsertarObjeto($objeto_nombre, $objeto_cantidad, $_COOKIE['pokemonrpg_jugador_entrenador']);
//>>>Cambios visuales
$bloque_proceso_color= 'verde';
$bloque_proceso_descripcion= 'Objeto/s adquirido/s correctamente';
}
else
{
//>>>Cambios visuales
$bloque_proceso_color= 'rojo';
$bloque_proceso_descripcion= 'No posees dinero suficiente';
}
//Icono de carga
$respuesta->assign('xajax_carga', 'className', 'estado_deshabilitado');
return $respuesta;
}
$xajax->registerFunction("AccionComprar");
$xajax->processRequest();
?>
Código PHP:
$dinero= $db->ResultadoConsulta($db->Consulta("SELECT dinero FROM pokemonrpg_cuenta WHERE nombre='{$_COOKIE[pokemonrpg_jugador_cuenta]}'"));
Código:
Vamos que es como si el objeto db no se creara, sin embargo si lo utilizo fuera de xajax funciona bien.<b>Fatal error</b>: Call to a member function ResultadoConsulta() on a non-object in <b>C:\Wamp\www\Pokemonrpg\modulos\juego\eventos\npc_tienda\xj_npc_tienda.php</b> on line <b>20</b><br />
¿Que esta mal?, gracias!