Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] conexion base de datos:

Estas en el tema de conexion base de datos: en el foro de PHP en Foros del Web. hola vengo a queme despejen una duda: estoy creando una función para conectarme a la base de datos y desconectarme usando MySqli... el detalle es ...
  #1 (permalink)  
Antiguo 03/06/2013, 13:49
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Pregunta conexion base de datos:

hola vengo a queme despejen una duda:

estoy creando una función para conectarme a la base de datos y desconectarme usando MySqli... el detalle es que no me conecta:

utilizo la siguiente estructura

llamo primero a las variables de coneccion:

Código PHP:
Ver original
  1. <?php include_once("var/var.php"); ?>

donde están las variables:

Código PHP:
Ver original
  1. <?php
  2. $host='localhost';//Dirección del Host
  3. $username='root';//Nombre de Usuario con el que se conecta
  4. $userpass='pass';//Contraseña de acceso
  5. $db1='prueba';//nombre de la base de dato que se usara
  6. $clave='clave';//Contraseña de encriptacion contraseñas
  7. ?>

la funcion que estoy armando es esta:


Código PHP:
Ver original
  1. <?php
  2. //Globals
  3. //Variables de inicio de sesion:
  4. //////////////////////////////////////////////////////////////////////
  5. include_once("var/var.php");
  6. //////////////////////////////////////////////////////////////////////
  7. //Funcion para coneccion
  8. //////////////////////////////////////////////////////////////////////
  9. function conexion(){//Coneccion tipo 1
  10. $dblink = mysqli_connect($host, $username, $userpass);
  11. $selected = mysqli_select_db($dblink,$db1);
  12. if (!$selected) {
  13. die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  14. }
  15. $dblink->query("SET NAMES 'utf8'");
  16. return $dblink;
  17. }
  18. //////////////////////////////////////////////////////////////////////


mi pregunta es esto va dentro o afuera de la funcion:

include_once("var/var.php");

hago la pregunta por que al momento que necesito usar la clave $clave='clave';

me manda error XD gracias por todos los comentarios

mi idea es hacer una Funcion de coneccion para luego usarla en lo lugares necesarios..
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #2 (permalink)  
Antiguo 03/06/2013, 14:03
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: coneccion base de datos:

eso se debe a que las variables están dentro del contexto global, pero NO son superglobales, puedes hacer 2 cosas:

usar global dentro de la función conexion() para llamar a las variables.

hacer el include dentro de la función conexion(), así tendrían ámbito dentro de la función, y básicamente es lo que necesitas.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 03/06/2013, 14:19
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: conexion base de datos:

gracias tienes rason el script lo dejo asi:function conexion($conectar){//Coneccion tipo 1
Código PHP:
Ver original
  1. include_once("var/var.php");
  2.     $dblink='';
  3.     if($conectar == 1){
  4.         $dblink = mysqli_connect($host, $username, $userpass);
  5.         $selected = mysqli_select_db($dblink,$db1);
  6.         if (!$selected) {
  7.         die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  8.         }
  9.         $dblink->query("SET NAMES 'utf8'");
  10.         return $dblink;
  11.     }
  12.     if($conectar == 0){
  13.         mysqli_close($dblink); 
  14.     }
  15. }

aun me sale el warning del close: me fata un parámetro que desconozco

Warning: mysqli_close() expects exactly 1 parameter,

llamo las funciones de esta manera:

Código PHP:
Ver original
  1. $dblink=conexion(1);
  2. //Codigo PHP
  3. $dblink=conexion(0);
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Última edición por arcanisgk122; 03/06/2013 a las 14:30
  #4 (permalink)  
Antiguo 03/06/2013, 15:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: conexion base de datos:

mysqli_close() necesita que le pases la instancia del objeto conexión.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 03/06/2013, 15:27
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: conexion base de datos:

y no es esta pues??

mysqli_close($dblink);
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #6 (permalink)  
Antiguo 03/06/2013, 16:38
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: conexion base de datos:

Respuesta:

Forma de llamar las funciones:

Código PHP:
Ver original
  1. conexion();
  2. desconexion($dblink);

Variables Globales o declaradas fuera del script:

Código PHP:
Ver original
  1. $clave='clave';
  2. $dblink='';


funciones:

Código PHP:
Ver original
  1. function conexion(){//Coneccion
  2.     include_once("var/var.php");
  3.         $dblink = mysqli_connect($host, $username, $userpass);
  4.         $selected = mysqli_select_db($dblink,$db1);
  5.         if (!$selected) {
  6.             die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  7.         }
  8.         $dblink->query("SET NAMES 'utf8'");
  9.     return $dblink;
  10. }
  11. function desconexion($dblink){//Desconeccion
  12.         $dblink->close();
  13.     }
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Etiquetas: coneccion, mysql, select, variables
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 12:55.