Cita:
Iniciado por tuadmin que bueno, eso es un gran avanze, poco a poco llegaras comprenderlas
database.php
bueno aca algo importante, recuerda PHP es un lenguate interpretado, entonces cuando haces un clase en un archivo A.php y otra en un archivo B.php y tu archivo de pagina web index.php
si B.php necesita la clase que esta en A.php , en el archivo principal, tienes que hacer
un require de los archivos A.php y B.php,
o de lo contrario en el archivo B.php haga el REQUIRE del archivo A.php asi tu archivo index.php solo necesita hacer un require en B.php
eejej bueno espero no haberte mareado pero en resumen, si creas un clase en un archivo, y quieres llamarlo desde otro archivo hazle un require, y trata de usar RUTAS semi estaticas, al decir semistaticas me refiero a usar la constante __DIR__
Sabia que debía especificarles eso, pero creí que confiarían mas en mi
Si se fija, los dos archivos llaman a
require_once(DIR_ROOT.SLASH.'loader.php'); que es básicamente mi cargador de todo. En
loader.php ya tengo cargados todos los archivos que voy creando, y el loader lo mando llamar en index.php asi que ya todo se conecta.
Pasemos a porque da error en la linea 61
PD: Ya hice var_dump($sql); y si me trae la sentencia SQL de la otra clase
--------------------------EDIT----------------------------
Creo que ya encontré el error.
Código PHP:
Ver originalpublic function queryFunction($sql){
// $querys = new Querys();
$MySQLi = $this->mysqli;
$result_set = $MySQLi->query($sql); // Linea
if (!$result_set) {
echo '<br>Error en consulta :<pre> ' . $sql .'</pre>';
}
return $result_set;
}
Al hacer
var_dump($MySQLi); aparece en
NULL eso significa que no esta mandando la conexión. Pero solo pasa esto si enlazo las clases, si lo hago todo en la misma clase,
$MySQLi si guarda el array de la conexion. A que se debera que lo pierde al relacionarse con otra clase ??
----------------------EDIT 2.0---------------------------------
Ya lo resolvi
Tenia que inicializar el método de conexión en la función de la clase nueva
Código PHP:
Ver originalpublic function getUsers(){
$dbm = new DBM();
$conexion = $dbm->conexion(); // Esta linea me faltaba
$sql = 'SELECT nombre FROM usuarios';
$result = $dbm->queryFunction($sql);
$users = $result->fetch_all(MYSQLI_ASSOC);
return $users;
}
Ya vere como hago una función para esos casos