Es la primera vez que estoy trabajando con php orientado a objetos y no consigo devolver el resultado de una select simple.
Warning: mysqli_query() expects parameter 1 to be mysqli, object given in E:\xampp\htdocs\Servidor\blogPersonal\Script\Consu ltas.php on line 27
Error en la consulta
CLASE CONEXION
Código PHP:
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of Conexion
*
* @author Jesus_Diaz
*/
class Conexion {
function __construct() {
}
// abrimos conexion cn la bd
public function conexion() {
define("hosting", "localhost");
define("user", "root");
define("pass", "");
define("bd_name", "bd_blog");
$mysqli = new mysqli(hosting, user, pass, bd_name);
/* comprueba la conexión */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* seleccionamos la bd a utilizar*/
$mysqli->select_db(bd_name);
return $mysqli or die();
}
// cerramos conexion con la bd
public function close() {
mysqli_close();
}
}
?>
CLALSE CONSULTAS
Código PHP:
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of Consultas
*
* @author Jesus_Diaz
*/
class Consultas {
// variable donde ugardamos la conexion abierta a la bd
private $db;
//constructor que inicializamos la conexion, es decir,
//la abrimos siempre para esta clase
function __construct() {
require_once 'Conexion.php';
$this->db = new Conexion();
$this->db->conexion();
}
public function listaCategoria() {
ERROR
[LEFT] $query = mysqli_query($this,"SELECT * FROM `categoria`") or die("Error en [/LEFT]la consulta");
$arrayCategoria = mysqli_fetch_array($query);
return $arrayCategoria;
}
public function listaProductos() {
}
}
?>
CLASE APLICACION.PHP
Código HTML:
<body>
<div class="cuerpo">
<div class="body">
<?php
require_once 'Script/Consultas.php';
$consulta = new Consultas();
while ($row = $consulta->listaCategoria()) {
$nombre = $row['nombre'];
?>
<p> <?php echo 'Nombre: ' + $nombre ?> </p>
<?php
}
?>
</div>
<div class="footer">
</div>
</div>
</body>