elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Resuelto] Problema con prepare() MySQLi
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] Problema con prepare() MySQLi  (Leído 1,938 veces)
Penguin

Desconectado Desconectado

Mensajes: 12


Ver Perfil
[Resuelto] Problema con prepare() MySQLi
« en: 15 Abril 2018, 15:11 pm »

Hola, hace mucho tiempo no programaba en php y me encontré con que la función mysql() fue declarada obsoleta, por lo cual me veo forzado a tratar de aprender el funcionamiento de mysqli().

Tengo el siguiente código en funciones.php;

Código
  1. <?php
  2. global $conexion;
  3.    function conectarBD() {
  4.   $conexion = new mysqli('localhost', 'root', '', 'Zeta');
  5.  
  6.   if($conexion->connect_errno) {
  7.      die('Error: '. $conexion->connect_errno);
  8. }
  9.  return $conexion;
  10. }
  11. ?>

Y por otra parte, tengo login.php:

Código
  1. <?php
  2. require('funciones.php');
  3. $usuario = $_POST['usuario']; // Dato obtenido desde un formulario
  4.  
  5. conectarBD();
  6.   $sql_datos = "SELECT * FROM usuarios WHERE usuario = ?";
  7.   $sql_final = $conexion->prepare($sql_datos);
  8.    if($sql_final) {
  9. $sql_final->bind_param("s", $usuario);
  10. $sql_final->excecute();
  11. $sql_final->store_result();
  12. }
  13.  
  14. ?>

Me devuelve el siguiente error:

Citar
Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\xampp\htdocs\login.php:11 Stack trace: #0 {main} thrown in C:\xampp\htdocs\login.php on line 11

Marca error en el prepare() de la consulta (ignoren "linea 11", ya que lo recorté para que sea más breve) como si fuera que no logra relacionar la preparación de la consulta, con la variable $conexion, aunque haya sido declarada globalmente... No comprendo cual es el error, si alguien puede ayudarme le agradecería.


« Última modificación: 29 Mayo 2018, 19:26 pm por #!drvy » En línea

Penguin

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Problema con prepare() MySQLi
« Respuesta #1 en: 22 Abril 2018, 19:27 pm »

Ya lo pude resolver. Por si alguien tiene este problema a futuro, la respuesta era que:

Código:
global $conexion

tenía que ir dentro de la función, ya que al usar require y no include, solo se llamaba a la misma y no al archivo funciones.php completo.

Saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
error prepare statement
Java
sapito169 3 8,906 Último mensaje 24 Febrero 2009, 19:53 pm
por cornell
Fatal error: Call to a member function prepare() on a non-object in
PHP
Makroll 3 5,678 Último mensaje 8 Noviembre 2013, 01:02 am
por #!drvy
Cómo preparé un teléfono Android antes de regalárselo a mi abuela
Noticias
wolfbcn 3 2,356 Último mensaje 26 Septiembre 2014, 17:07 pm
por тαптяα
Problema al guardar datos en tabla mysql con mysqli
PHP
eliander20 3 2,814 Último mensaje 6 Marzo 2016, 18:56 pm
por jalbtercero
[Resuelto] mysqli rollback deja de funcionar en php 7
PHP
gAb1 1 2,808 Último mensaje 8 Junio 2016, 18:22 pm
por gAb1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines