Foros del Web » Programando para Internet » PHP »

Diferencia entre sentencias de base de datos.

Estas en el tema de Diferencia entre sentencias de base de datos. en el foro de PHP en Foros del Web. Hola que tal. tengo una duda, cual es la diferencia de hacer Código PHP: $conectar = mysql_connect ( "host" , "usuario" , "password" ); $conexion ...
  #1 (permalink)  
Antiguo 24/07/2010, 17:00
 
Fecha de Ingreso: julio-2006
Mensajes: 55
Antigüedad: 17 años, 9 meses
Puntos: 0
Diferencia entre sentencias de base de datos.

Hola que tal.

tengo una duda, cual es la diferencia de hacer

Código PHP:
$conectar=mysql_connect("host","usuario","password");
$conexion=mysql_select_db("Bd",conectar);

mysql_query("select * from tabla");

o

 mysql_query
("select * from tabla",$conexion); 
cual es la diferencia de seguridad, rendimiento, etc entre una u otra
Gracias por adelantado....
  #2 (permalink)  
Antiguo 24/07/2010, 17:41
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Diferencia entre sentencias de base de datos.

Te recomiendo lo siguiente y solo por practicas de programacion:

Crea un archivo conexion.php con 2 funciones

<?php
//conexion a la base de datos
function conectar()
{
$bd= "base_de_datos";
$host= "tu_host";
$user= "nombre_de_usuario";
$pass= "contraseña";

mysql_connect("$host", "$user", "$pass");
mysql_select_db($bd);
}
//desconectar la base de datos
function desconectar()
{
mysql_close();
}

?>

y cada vez que necesites conectarte simplemente haces lo siguiente...

index.php

<?php
include('conexion.php');
//Llamas a la funcion
conectar();
//y listo haces tus consultas y al final solo haces por ejmplo
$sql = 'SELECT pedos FROM culo';
$query = mysql_query($sql);
while($array = mysql_fetch_array($query)){
echo $array['pedos'];
}
//asi de sencillo
desconectar()
?>
  #3 (permalink)  
Antiguo 24/07/2010, 17:59
 
Fecha de Ingreso: julio-2006
Mensajes: 55
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Diferencia entre sentencias de base de datos.

hola, gracias por tu pronta respuesta, pues asi mismo lo hago yo, como sugieres con funciones (execto la de close esa si no la hacia), sin embargo mi pregunta es porque veo que en muchos sitios sugieren hacerla con la variable de la conexion a la base de datos como parametro...

cito tu sintaxis.....
Código PHP:
mysql_query("select peos from culo",$dbTripas); 
poque hacerlo asi, que tiene de bueno colocar el parametro "conexion", esa es la pregunta...


gracias por tu atencion
  #4 (permalink)  
Antiguo 24/07/2010, 18:06
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Diferencia entre sentencias de base de datos.

La verdad desconozco realmente la diferencia, lo unico que te puedo decir, es que para mejores practicas de programacion yo lo hago de esa manera que te coloque en la anterior respuesta..

Es probable que no haya una diferente de eficacia entre una y otra, suponga que es para realizar querys con diferentes conexiones.. al guardar la conexion en una variable te permite controlar sobre que conexion se hace la consulta... no se me ocurre otro motivo...

saludos
  #5 (permalink)  
Antiguo 24/07/2010, 22:44
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Diferencia entre sentencias de base de datos.

Es solo para especificar a que $conexión hará referencia la consulta. En tu código puedes tener 50 conexiones abiertas, y en cada una de ellas tener una tabla X. Pero si tú haces mysql_query("SELECT * FROM X");, tomará por defecto la última conexión que encuentre, pero resulta que tú querías la tabla de la conexión $conexion20.

Es más que nada un ejemplo, no debe darse ese caso en particular para que especifiques la conexión.

Cito :

Código:
resource mysql_query  (  string $query  [,  resource $link_identifier  ] )
Código:
link_identifier

    La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel E_WARNING es generado.
http://cl.php.net/manual/es/function.mysql-query.php
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.

Etiquetas: diferencia, sentencias
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 22:42.