Foros del Web » Programando para Internet » PHP »

Mysqli

Estas en el tema de Mysqli en el foro de PHP en Foros del Web. Buenas a tod@s!!! Os comento, estoy empezando a probar esto de Mysqli, tiene buena pinta pero me encuentro con dos grandes dudas: 1) Elegir, orientado ...
  #1 (permalink)  
Antiguo 24/05/2013, 07:00
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 2
Exclamación Mysqli

Buenas a tod@s!!!

Os comento, estoy empezando a probar esto de Mysqli, tiene buena pinta pero me encuentro con dos grandes dudas:

1) Elegir, orientado a objetos o por procedimientos.
En principio, me he decidido a probar ambas, pero no consigo ajustar ninguna en casos "reales".

2) Cuando mas cerca estoy empiezo a tener errores y no salgo de ahí, seguramente será un problema de conceptos, pero estoy un poco loco con este tema y requiero de vuestra ayuda!!!!

Os paso la última prueba que estoy intentando y el error que me da, a ver si alguien me puede sacar del atasco.

Código PHP:
<?php
    
function selectAllSuperClases ()
        {
        
$conexion=@new mysqli($con_servidor,$con_usuario$con_password$con_basephp);
        echo(
$conexion->connect_error);
                
$conexion->set_charset("utf8");
        
        
$queSelectAll="SELECT * FROM tabla";
        
$exeSelectAll=$conexion->prepare($queSelectAll);
        
$exeSelectAll->execute();
        
$resSelectAll=$exeSelectAll->get_result();
        
$conexion->close;
        return 
$resSelectAll;
        }
?>
Y el error es .... (Redoble...)
Call to a member function execute() on a non-object in
Tachán!!!

Espero que sea alguna de mis taras mentales, tengo muchas cosas que me gustaría desarrollar de esto modo...

Saludos!!!!
  #2 (permalink)  
Antiguo 24/05/2013, 08:26
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Mysqli

puede deberse a que prepare no pudo crear el objeto mysqli_stmt, ¿por qué?

de seguro porque las variables $con_servidor,$con_usuario, $con_password, $con_basephp no están definidas, recuerda que php a diferencia de otros lenguajes las variables declaradas en el contexto global NO son superglobales, es decir que no se ven dentro del ámbito de la función a no ser que lo especifiques explícitamente, o use global:

Código PHP:
Ver original
  1. function selectAllSuperClases() {
  2.     global $con_servidor,$con_usuario, $con_password, $con_basephp; //acceso a variables globales
  3. }

con respecto al uso de POO o procedimental, recuerda que PHP es multiparadigma, por lo cual no vemos esto en lenguajes como C#, esto no quiere decir que PHP sea malo, todo lo contrario, depende del programador enfocar bien si quiere usar un paradigma o mezclarlos (en función de mejorar u optimizar), es cuestión de gustos, nada te impide usar programación estructurada con PDO sin necesidad de recurrir a declarar clases propias, aunque lo mejor es un enfoque como MVC
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 24/05/2013, 12:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Mysqli

Gracias por tu respuesta, pero esas variables si están definidas e inicializadas.
Había eliminado esa linea para evitar compartir la contraseña de acceso a mi BBDD, etc...

La conexión la hace bien... Aún así, muchas gracias por tu respuesta.

Edito.
Perdonad, estoy bastante atascado, si se os ocurre cualquier cosa, por loca que pueda parecer, por favor, decidmelo. Me gustaría entender un poco mas todo esto y no lo consigo.

Última edición por Momonito; 25/05/2013 a las 09:28 Razón: Desesperación.

Etiquetas: mysql, mysqli, select, tabla
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 16:26.