Foros del Web » Programando para Internet » PHP »

No comprendo instrucciones sql en php.

Estas en el tema de No comprendo instrucciones sql en php. en el foro de PHP en Foros del Web. Hola amigos. Bueno ahorita ando dandole bien al PHP, ya que quiero aprenderlo. Y viendo un manual, ya voy en el tema de Base de ...
  #1 (permalink)  
Antiguo 10/05/2011, 11:42
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
No comprendo instrucciones sql en php.

Hola amigos.
Bueno ahorita ando dandole bien al PHP, ya que quiero aprenderlo.

Y viendo un manual, ya voy en el tema de Base de Datos.
el tema en "conexion a la base de datos" lo he leido y viene un ejemplo, que no logro comprender.

Código PHP:
<?php
function Conectarse()
{
   if (!(
$link=mysql_connect("localhost","usuario","Password")))
   {
      echo 
"Error conectando a la base de datos.";
      exit();
   }
   if (!
mysql_select_db("base_datos",$link))
   {
      echo 
"Error seleccionando la base de datos.";
      exit();
   }
   return 
$link;
}

$link=Conectarse();
echo 
"Conexión con la base de datos conseguida.<br>";

mysql_close($link); //cierra la conexion
?>
Podrian ayudarme a decirme que funcion tiene cada linea.

Como por ejemplo lo que no entiendo es, en la primera sentencia "if" el NOT que tiene.

Ojala y me puedan explicar.
Saludos y gracias.
__________________
Programador jQuery & PHP
  #2 (permalink)  
Antiguo 10/05/2011, 11:46
 
Fecha de Ingreso: febrero-2011
Mensajes: 8
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: No comprendo instrucciones sql en php.

el if(!$sentencia) hace referencia a que si existe dicha sentencia se ejecuta lo que viene enseguida!

if(!$nombre){
echo "No existe el nombre";
}else{
echo "Existe el nombre y se cumple la función";
}
  #3 (permalink)  
Antiguo 10/05/2011, 11:46
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: No comprendo instrucciones sql en php.

simple, cuando esas funciones fallan devuelven false, el not las convierten en true y por lo tanto se ejecuta el bloque mostrando el error
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #4 (permalink)  
Antiguo 10/05/2011, 11:50
Avatar de AndresTorres  
Fecha de Ingreso: abril-2011
Ubicación: Capital Federal, ARG
Mensajes: 49
Antigüedad: 13 años
Puntos: 13
Respuesta: No comprendo instrucciones sql en php.

Funcion conectarse() {

Si no se puede conectar a mysql y guardar la conexión dentro de $link que muestre un mensaje de error y exit();

Si no se puede seleccionar la base de datos llamada "base_de_datos" que muestre un mensaje de error y exit();

De estar ejecutandose hasta acá la funcion es porque se logro conectarse, entonces finalizamos la misma devolviendo la conexión almacenada en $link

}

Dentro de $link (global) se almacena la conexion a la base de datos que devuelve conectarse();
  #5 (permalink)  
Antiguo 10/05/2011, 12:49
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: No comprendo instrucciones sql en php.

es decir, el not les dice que si NO se cumple esa funcion.
Echo, imprimide lo del bloque.

amm no puedo creer que es algp tan sencillo, no podia comprender, pero gracias a sus respuesta, ya pude.

Muchisimas gracias amigos
__________________
Programador jQuery & PHP
  #6 (permalink)  
Antiguo 10/05/2011, 15:29
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: No comprendo instrucciones sql en php.

Amigos, siguiendo aqui, ya por terminar, me entro otra duda.
Casi al final, la funcion nos retorna una variable, en este casi es $link, PUES AQUI TENGO DOS DUDAS:

1) La variable $link, que nos devuelve la funcion, contiene toda la programacion de dicha funcion, ¿Cierto?

2) Donde dice $link=conectarse();
¿Que hace? No logro entenderlo.

Saludos y gracias nuevamente.
__________________
Programador jQuery & PHP
  #7 (permalink)  
Antiguo 10/05/2011, 15:57
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: No comprendo instrucciones sql en php.

La variable $link recibe el identificador de la conexión de mysql abierta por la función conectarse.
Disculpa ami rudeza pero esto se explica en cualquier manual introductorio de php+mysql.
  #8 (permalink)  
Antiguo 11/05/2011, 07:53
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: No comprendo instrucciones sql en php.

Código PHP:
Ver original
  1. <?php
  2. function Conectarse()
  3. {
  4.    if (!($link=mysql_connect("localhost","usuario","Password")))
  5.    {
  6.       echo "Error conectando a la base de datos.";
  7.       exit();
  8.    }
  9.    if (!mysql_select_db("base_datos",$link))
  10.    {
  11.       echo "Error seleccionando la base de datos.";
  12.       exit();
  13.    }
  14.    return $link;
  15. }
  16.  
  17. $link=Conectarse();
  18. echo "Conexión con la base de datos conseguida.<br>";
  19.  
  20. mysql_close($link); //cierra la conexion
  21. ?>

Es sencillo, a veces en la programacion, no es cuestion de analizarlo, en parte si porque sabes exactamente que dice, solo es cuestion de tener una idea general, claro es mi punto de vista, respeto el de los demas.... y tratare d explicarte como lo entiendo, en forma personal y no en programadora...

Cuando inicias con tu programa, se supòne k esta en ceros, funcion conectarse() es para que empiece a activarlo, es como si fuera su despertar...

$link le estas indicando exactamente que es lo debe de conectar tanto a tu servidor, usuarios y contraseña, es por eso de la instruccion mysql connect, si no lograra hacer esa conexion entonces te marca el error......

mysql_select_db te activa la base de datos que estaras utilizando...... lo mismo si no se activa te manda error..

$link=Conectarse te dice que todas las instrucciones de sqlconnect y base de datos te las ac tive.....


esto se supone que lo debes de tener en un archivo aparte por ejm conexion.php

y cuando hagas referencia cuando generes mas archivos solo es cuestion de poner
Código PHP:
Ver original
  1. include("conexion.php");
  2. $link=Conectarse();

y con esto ya tendras activada tu servidor y tu base de datos

http://www.forosdelweb.com/wiki/Manual_de_PHP

te recomiendo que leas este manual, es muy interesante, hay muchos ejercicios practicos que te ayudaran a comprender incluso los errores que te salen....
Pero ojo has los ejercicios, trasncribelos, mas no los copies...... eso d v erdad te ayudara mucho si dices que vas iniciando con mayor razon, llevo apenas 2 meses con php, igual como tu empece leyendo manuales, no tome ninguna clase y ya casi logro mi objetivo de mi sistema y lo que pueda ayudarte con mucho gusto....

Saludos.......!!! y a leer mucho....
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #9 (permalink)  
Antiguo 11/05/2011, 20:31
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: No comprendo instrucciones sql en php.

Muchas gracias Ximenitaa. me haz dado una perspectiva más clara acerca de esto.

Ahora quiero pedirles a ustedes amigos, si este codigo esta bien.
Lo unico que hice fue cambiar las variables de la funcion por otras.

Código PHP:
Ver original
  1. <?php
  2. function Conectarse()
  3. {
  4.    if (!($link=mysql_connect("localhost","usuario","Password")))
  5.    {
  6.       echo "Error conectando a la base de datos.";
  7.       exit();
  8.    }
  9.    if (!mysql_select_db("base_datos",$link))
  10.    {
  11.       echo "Error seleccionando la base de datos.";
  12.       exit();
  13.    }
  14.    return $variableCambiada;
  15. }
  16.  
  17. $variableCambiada=Conectarse();
  18. echo "Conexión con la base de datos conseguida.<br>";
  19.  
  20. mysql_close($variableCambiada); //cierra la conexion
  21. ?>

Segun yo entiendo, que el "return" me devuelve una variable, en este caso $variableCambiada.

y despues coloca esta "variable" y le doy el valor de la funcion para que esta se ejecute:
$variableCambiada=Conectarse();

y lo ultimo lo cierra.

Esta bien mi entendimiento ???
__________________
Programador jQuery & PHP
  #10 (permalink)  
Antiguo 11/05/2011, 20:42
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: No comprendo instrucciones sql en php.

No, esta mal
Como obtiene la función la variable $variableCambiada ?
Debe ser así:
Código PHP:
<?php
function Conectarse()
{
   if (!
$link=mysql_connect("localhost","usuario","Password"))
   {
      echo 
"Error conectando a la base de datos.";
      exit();
   }
   if (!
mysql_select_db("base_datos",$link))
   {
      echo 
"Error seleccionando la base de datos.";
      exit();
   }
   return 
$link;
}
 
$variableCambiada=Conectarse();
echo 
"Conexión con la base de datos conseguida.<br>";
 
mysql_close($variableCambiada); //cierra la conexion
?>
Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #11 (permalink)  
Antiguo 11/05/2011, 21:03
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: No comprendo instrucciones sql en php.

estoy mal.!!!
OMG, ps entonces no he comprendido esto, y no puedo comprenderlo aun, y ya lei el manual de FdW
__________________
Programador jQuery & PHP
  #12 (permalink)  
Antiguo 11/05/2011, 21:12
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: No comprendo instrucciones sql en php.

Mira, una función no puede acceder nativamente a una variable externa, a menos que uses global.
Ahora, estas mal en intentar acceder a una variable externa y al intentar acceder a una que pertenece a la misma función... Debes hacer return a la variable de conexión. Para qué?
Para que la variable perteneciente a la función se cargue con la variable de conexión y así poder usarla..
Te dejo un ejemplo práctico
Código PHP:
function asignar() {
    
$var 'Hola!';
    return 
$var;
}
echo 
$eje// No imprime nada, variable no seteada

$eje asignar();
echo 
$eje//Imprime 'Hola!' porque la funcion regresa ese valor, ahora $eje contiene 'Hola'


/**********************/


function conectarse() {
    
$link mysql_connect('localhost''usu''pass');
    return 
$link;
}
mysql_close($link); /*Error, no existe la variable link porque es interna de la función, además de que no se ha llamado */
$linkk conectarse();
mysql_close($linkk); /* Correcto, $linkk contiene el valor retornado por la función */ 
Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #13 (permalink)  
Antiguo 11/05/2011, 21:37
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: No comprendo instrucciones sql en php.

haber si entendi.
Segun yo:

*Se conecta a la BD, en el instante en que es procesado por el servidor la "FUNCION"
*Usamos "RETURN" para poner usar la funcion donde querramos
*Creamos una nueva variable y le damos como valor "La Funcion"
*Hemos creado la variable que contiene la funcion, para poder cerrar la conexion usando la variable en: mysql_close($linkk);

Estoy bien?
Gracias
__________________
Programador jQuery & PHP
  #14 (permalink)  
Antiguo 11/05/2011, 21:48
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: No comprendo instrucciones sql en php.

Estas bien, a excepcion de que no asignamos la funcion.
Lo que asignamos es la conexion que se hizo dentro de la funcion

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #15 (permalink)  
Antiguo 11/05/2011, 22:19
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: No comprendo instrucciones sql en php.

Mejor lee un manual basico de programación.
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #16 (permalink)  
Antiguo 11/05/2011, 22:32
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: No comprendo instrucciones sql en php.

Cita:
Iniciado por Sourcegeek Ver Mensaje
Estas bien, a excepcion de que no asignamos la funcion.
Lo que asignamos es la conexion que se hizo dentro de la funcion

Saludos!
O claro, le asignamos la conexion, ya que la conexion se encuentra dentro de "$link" y hacemos que nos devuelva dicha conexion con return $link. ¿Verdad?.

Muchas gracias Carnal, he aprendido algo nuevo y me he despejado de dudas


Cita:
Iniciado por _ssx Ver Mensaje
Mejor lee un manual basico de programación.
Gracias por la sugerencia, pero lo mencione 4 mil Ochosientas Veinte Siete millones, que ando leyendo manuales, inclusive ya termine el de aqui de forosdelweb.
__________________
Programador jQuery & PHP
  #17 (permalink)  
Antiguo 12/05/2011, 02:13
 
Fecha de Ingreso: enero-2004
Ubicación: en mi casa
Mensajes: 29
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: No comprendo instrucciones sql en php.

yo te puedo decir que a lo mejor lo que necesitas es otro metodo de aprendizaje, solo leyendo no se aprende mucho, la verdad.
prueba a leer y despues a hacer esquemas de lo que quieres hacer sin codigo, por ejemplo:

Código:
conectar
conexion al administrador
si falla mostrar error
y despues intenta pasarlo a codigo:
Código PHP:
conectar(){
$host="localhost"
$usuario="usuario"
$password="password"
$base="base de datos"
$conexion mysql_connect($host$usuario$password) or die(mysql_error("fallo la conexion")); 
$db mysql_select_db($base$conexion) or die(mysql_error("fallo la base de datos"));

asi iras aprendiendo poco a poco y sabras en todo momento lo que escribes y para que.
espero que eso te ayude un poco
un saludo
  #18 (permalink)  
Antiguo 12/05/2011, 08:41
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: No comprendo instrucciones sql en php.

Hola !!!
Has ejercicios, practica, pero como te habia comentado, escribelos, mas no los copies, asi se te olvida poner un ; y te marc a error a la proxima ya te acordaras.....

Saludos !!
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #19 (permalink)  
Antiguo 12/05/2011, 08:47
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: No comprendo instrucciones sql en php.

Es que antes de aprender PHP necesitas entender lo basico.

1.- Variables
2.- Operadores
2.- Funciones
3.- Sentencias de control
4.- Logica

Despues de eso ya podras entender por que la funcion Conectarse "devuelve" un valor y entenderas el por que se hace !$link, y todas esas cosas que parecen magicas.
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #20 (permalink)  
Antiguo 12/05/2011, 20:12
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: No comprendo instrucciones sql en php.

Cita:
Iniciado por _ssx Ver Mensaje
Es que antes de aprender PHP necesitas entender lo basico.

1.- Variables
2.- Operadores
2.- Funciones
3.- Sentencias de control
4.- Logica

Despues de eso ya podras entender por que la funcion Conectarse "devuelve" un valor y entenderas el por que se hace !$link, y todas esas cosas que parecen magicas.
Más bien creo que fue un error de expresión o mejor dicho de comprensión a la hora de analizar el codigo, y tratar de ver para que servia cada cosa, y como era la estructura, y sobre todo, lo cuál de sus funciones.

En la funcion, se supone que al ejecutarse "dicha" funcion, se ejecuta el mysql_connect y se conecta al servidor.

Lo del !, lo entiendo, si se ejecuta bien el "mysql_connect", se supone que se debe de cumplir la condicion e imprimir lo que dice, pero este hace que lo convierta en lo CONTRARIO, es decir, "SUPUESTAMENTE" no se cumple y no lo imprime.

Lo del return, ya comprendi que era necesario extraer la conexion a una variable global, para poder utilizarla en "mysql_close" y asi cerrar la conexion.

Bueno fueron cosas del momento, les agradezco a todos pos su ayuda, que si bien fue buena o mala, me ayudo bastante

Saludos y Gracias
__________________
Programador jQuery & PHP
  #21 (permalink)  
Antiguo 12/05/2011, 20:39
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: No comprendo instrucciones sql en php.

Lo de global es otro tema, funcionaría algo así:
Código PHP:
<?php
$link 
''//Se 'globaliza' la variable
function conectarse() {
    global 
$link//Con esto, conectarse() toma una variable externa para modificarla externamente
    
$link mysql_connect('localhost''usu''pass'); //Aqui modificamos la variable externamente
}
mysql_close($link); /*Error, la varible aun no contiene la conexion porque no se ha llamado a la funcion */
conectarse(); /*Se ejecuta la funcion. Nota que no se necesita asignar variable porque la funcion utiliza una variable externa a la misma (global) */
mysql_close($link); /* Correcto, como a $link se le asigno la conexion en la funcion, es correcto */
Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #22 (permalink)  
Antiguo 12/05/2011, 21:45
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: No comprendo instrucciones sql en php.

En mi comentario anterior solo tacho global y todo comprendido.
O deberia cambiar el termino variable "global" por variable "externa".

Gracias Sourcegeek por toda tu ayuda.
__________________
Programador jQuery & PHP
  #23 (permalink)  
Antiguo 12/05/2011, 21:48
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: No comprendo instrucciones sql en php.

Son todo un lio los términos, pero bueno... Con entender todo basta y sobra

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies

Etiquetas: sql
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 07:03.