PHP - Fatal error: Call to a member function query() on null in C:\xampp\htdocs\test\index.php on line 36

 
Vista:
sin imagen de perfil

Fatal error: Call to a member function query() on null in C:\xampp\htdocs\test\index.php on line 36

Publicado por Jordi (2 intervenciones) el 29/09/2016 20:28:41
Hola chicos, ante todo, muchísimas gracias por vuestra ayuda y colaboración.

Estoy desesperados dado que ninguno de mis 3 profesores de programación me ha podido echar un cable.

Tengo un script para pagina web de html con php combinado (bastante obvio), el caso es que todavia no he podido ver ni el simple index dado que me da un fatal error que me machaca toda la página.

Deduzco que en la función query estoy introduciendo algún parámetro mal o algo por el estilo pero con php he empezado hace poco y no consigo encontrar el error. Adjunto error y ficheros para ver si alguien me puede echar una manita.

Prometo haber buscado y rebuscado y no es que no haya casos solucionados de este fatal error en Internet, simplemente, como los códigos son de distintas personas y para distintas funcionalidades, no he conseguido encontrar la solución idónea para mi.

ERROR QUE ME SALTA:

Fatal error: Call to a member function query() on null in C:\xampp\htdocs\test\index.php on line 36


Adjunto el archivo que me da el error y el archivo donde se declara la función que falla.

PD: La BB.DD establece conexión correctamente.

Desde ya, muy agradecido, si necesitais algun dato u archivo mas, solo decirmelo, gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Call to a member function query() on null in C:\xampp\htdocs\test\index.php on line 36

Publicado por kip (877 intervenciones) el 30/09/2016 02:44:20
Hola, te esta diciendo que no puede llamar el metodo query() en una variable que es NUL.

Analizando ademas tu codigo encuentro ciertas lineas de codigo muy raras como estas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$db = new mysqli('localhost', 'root', '', 'test');
 
if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}
include "database.php";
 
class sec_mysql
{
    function connect()
    {
        global $DB;
 
        $connect = mysql_connect($DB['hostname'], $DB['username'], $DB['password']);
 
        if (!$connect)
        {
            die("Cannot connect to mySQL Host.");
        }
        else
        {
            $select = mysql_select_db($DB['database']);
            if (!$select)
            {
                die("Cannot connect to DB.");
            }
            else
            {
                return $select;
            }
        }
    }

Haces una conexion primero haciendo uso de mysqli, luego creas una clase que contiene un metodo para conectarse a la base usando mysql, en este metodo usas la variable $DB que veo que la declaras antes como global, y creo que esta en el include 'database.php' que haces no?

Intenta definir bien tu clase, usando mysqli de preferencia, si usas mysql entonces no incluyas lineas de codigo mysqli !

Lo que yo haria en tu caso es una vez definida la clase y las variables de conexion que usare alli, es incluir este archivo php en el index y desde alli llamar los metodos necesarios para conectarse a la base y ejecutar la query.

Nos comentas cuando hagas la correcion.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Fatal error: Call to a member function query() on null in C:\xampp\htdocs\test\index.php on line 36

Publicado por Jordi (2 intervenciones) el 30/09/2016 03:32:36
@kip muchissimas gracis por contestar, estoy como loco por solucionar esto. Te explico, se trata de un script web open source que me interesa mucho conseguir hacerlo funcionar, almenos que solo haya warnings, se que ha habido casos como el mio y con poco cambio se puede lograr solucionar el problema del parametro null, problema, hace un año murio el proyecto quedando como finalizado y funcional 100% y por mucho que he buscado no fue muy conocido y no salió mucha información, además el autor ofrecia las instalaciones a bajo coste y no queria compartir demasiadas insrucciones.

Resumiendo, que se me va jeje, este año he empezado con php sabiendo ya de java, mysql, html, css , js un pocco y mi intención era conseguir solucionar esto aunque sea un poco de forma chapuzera con ayuda vuestra y de ahí yo pocp a poco cuando ya empieze a tocar bien en clase el tema de conexiones con las bases de datos y las querys, ir poco a poco mejorando el script y optimizando el codigo al maximo a parte de la posterior creacion de un buen theme.

Todavia no domino el leer los codigos de php complejos aunque si entiendo normalmente que hacen por partes, además rapido pillo las cosas pero esta vez necesito ayuda con una chapuzilla para poder empezar.

Muchas gracias!!

PD: olvidemos mi novatada del global que comentas, es lo unico que esta añadido del codigo descargado y lo puse por probar jeje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar