Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error con funcion de conexion a mysql

Estas en el tema de Error con funcion de conexion a mysql en el foro de PHP en Foros del Web. Muy buena tarde, quisiera molestarlos por si alguien puede ayudarme con un problema que tengo, antes que nada no soy usuario avanzado de php pero ...
  #1 (permalink)  
Antiguo 25/03/2014, 17:30
jacromno
Invitado
 
Mensajes: n/a
Puntos:
Error con funcion de conexion a mysql

Muy buena tarde, quisiera molestarlos por si alguien puede ayudarme con un problema que tengo, antes que nada no soy usuario avanzado de php pero estoy realizando un proyecto y el problema es el siguiente:

Como en todo lenguaje tengo un archivo .php con la conexion a la base de datos. Ya tengo consultas que se conectan a este archivo y funciona bien la conexion a la bd, el problema viene cuando quiero llenar una list con los departamentos del pais, porque no llena el list


este es mi archivo conexion.php
Código PHP:
Ver original
  1. <?php
  2.     function conectarse(){
  3.         $servidor  = "localhost";
  4.         $usuario   = "root";
  5.         $clave     = "";
  6.         $basedatos = "bd";
  7.         $conectar = new mysqli($servidor, $usuario, $clave, $basedatos);
  8.         return $conectar;
  9.     }
  10. ?>

Con este archivo quiero obtener los departamentos "obtenerDepartamento.php"
Código PHP:
Ver original
  1. <?php
  2. require 'conexion.php';
  3. $conexion = conectarse();
  4. $PA = $conexion->prepare("SELECT * from tabdepartamento");
  5. $PA->execute();
  6. $PA->bind_result($Id_Departamento, $Nombre);
  7. while ($PA->fetch()) {
  8.     echo ("<option value='". $Id_Departamento ."'>". $Nombre ."</option>");
  9. }
  10. $PA->close();
  11. $conexion->close();

Lo que hice despues fue que meti directo la cadena de conexion de la bd en el archivo obtenerDepartamento.php y quedo asi
Código PHP:
Ver original
  1. <?php
  2. $conexion = new mysqli("localhost", "root", "", "db");
  3. $PA = $conexion->prepare("SELECT * from tabdepartamento");
  4. $PA->execute();
  5. $PA->bind_result($Id_Departamento, $Nombre);
  6. while ($PA->fetch()) {
  7.     echo ("<option value='". $Id_Departamento ."'>". $Nombre ."</option>");
  8. }
  9. $PA->close();
  10. $conexion->close();
  11. ?>

Lo curioso es de que con este ultimo e ingresando la cadena de conexion sin el archivo conexion.php si funciona y si llena el list

No se cual sea el problema? alguien podría ayudarme.

Por cierto, php no lanza ningun error, simplemente con uno no llena el list y con el otro si.
  #2 (permalink)  
Antiguo 25/03/2014, 17:39
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 2 meses
Puntos: 35
Respuesta: Error con funcion de conexion a mysql

Pusiste bien el nombre? En uno tenes "db" y en el otro "bd".
  #3 (permalink)  
Antiguo 25/03/2014, 17:47
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Error con funcion de conexion a mysql

La unica diferencia es que en la funcion conectar la variable $basededatos tiene el valor bd y en tu segunda opción tienes db, tal vez ese sea el problema.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #4 (permalink)  
Antiguo 25/03/2014, 20:11
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Error con funcion de conexion a mysql

pero usas mysqli o PDO? y en tu conexion, qué funcion cumpliría esta variable return $conectar;?

Porque no esta declarada antes
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 25/03/2014, 21:30
jacromno
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error con funcion de conexion a mysql

Si tienen razón, con el nombre de la base de datos solo es como ejemplo porque mi base de datos tiene otro nombre, por eso me confundi.

Uso mysqli. Lo unico que hace el return $conectar es devolver la cadena de la conexion.

Lo que me viene matando desde hace horas es del porque me llena el list cuando meto la cadena de conexion en el archivo donde se estan realizando las consultas y no cuando hago el require 'conexion.php'; a menos a que haya algun error en el codigo ya he comparado con las consultas que ya tengo hechas y le he dado 100 vueltas al codigo y no doy.

Gracias por su ayuda
  #6 (permalink)  
Antiguo 26/03/2014, 03:13
 
Fecha de Ingreso: junio-2011
Ubicación: Barcelona
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 17
Respuesta: Error con funcion de conexion a mysql

Las la syntax estan bien :S. Has probado en el codigo donde haces un require_once a la variable $conexion hacerle un var_dump a ver que muestra?

Por que lo que parece que pasa es que en el codigo donde no lo haces con require_once si tiene valor pero cuando lo llamas desde require_once es como si no tuviera valor.

Un saludo.
__________________
Twitter: @ed33x
  #7 (permalink)  
Antiguo 26/03/2014, 16:28
jacromno
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error con funcion de conexion a mysql

Se les agradece la ayuda, ya se ha resuelto.

en el archivo obtenerDepartamento.php hacia
Código PHP:
Ver original
  1. require 'conexion.php';

Pero cambiandolo a require_once, si funciona.
Código PHP:
Ver original
  1. require_once 'conexion.php';

Aun sigo sin entender eso, pero voy a leer la informacion sobre el require.

Gracias.

Etiquetas: conexion, funcion, mysql, select
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 23:00.