Pablo-med
27-11-2008, 00:16:18
PHP puede trabajar con varias bases de datos, con sus propia librería de funciones i realizando sus propias conexiones ODBC. PHP tiene soporte:
+Oracle
+mySQL
+PostgreSQL
...
Hay muchas maneras de conectar a la base de datos:
Ora_logon() / *Funcion de Oracle
Mysql_connect() / *Función de mySQL
Pg_connect() / *Función de PostgreSQL
Bueno el listado de funciones que vamos a definir:
1. mysql_connect()
2. mysql_query()
3. mysql_result()
4. mysql_create_db()
5. mysql_drop_db()
6. mysql_select_db()
7. mysql_fetch_array()
8. mysql_field_name()
9. mysql_field_type()
10. mysql_num_rows()
11. mysql_errno()
12. mysql_error()
1. mysql_connect()
Que hace esta función?
Realiza una conexión con una base de datos que hemos creado en mySQL
Ejemplo:
mysql_connect(string [servidor [:port] [:/path_to_socket]], string [usuario], string [clave]);
Que es servidor? Que es port? Que es path_to_socket? Que es el usuario? Que es la clave?
-Servidor es la ip donde esta la base de datos el famoso localhost que es normalmente por defecto.
-Port: El puerto por donde se accede a la BD,El puerto por defecto es “3306”
- Path_to_socket:El socket que el server ta utilizando
- Usuario: Nombre del user donde se realiza la conexión a la BD
- Clave:Contraseña del usuario para conectar con la BD
Nuestra primero conexión
Codigo:
<?
$host=”190.160.0.30”; / La ip de el host
$user=”PHP-Ref" /Tu usuario
$passwd=””/Tu contraseña
$connect = mysql_connect($host,$user,$passwd)
?>
Hemos conectado a nuestra con nuestro usuario host i contraseña... sencillo no?
2. mysql_query()
Envia la instrucción al servidor para ejecutarla.
Mysql_query(string consulta, int [id_connect]);
Consulta??ID_Connect??
La consulta es el SQl que se envia al servidor para que la ejecute
ID_Connect es el identificador de la conexxion sobre el que será enviado a la base de datos( es opcional)
<?
$consulta=”select nombre, apellidos, email from datos”;
$query= mysql_query($consulta,$connect)//Conectamos a la consulta a la variable connect que era el usuario contraseña de en punto 1
?>
La consulta es guardado dentro de la variable $consulta
3. mysql_result()
Nos devuelve el dato de la sentencia mysql_query()
mysql_query(int id_consulta, int row, mixed [field]);
id_consulta?? RoW?? Field??
Id_Consulta: el que identifica la consulta con mysql_query()
Row: La fila a la que se accede el dato
Field:Campo de la fila
Código:
<?
$consulta=”select nombre,apellidos,email from datos”;
$query=mysql_query($consulta,$connect)
$result1=mysql_result($query,0,0);
$result2=mysql_result($query,2,3);
print($result1);//Imprimimos el primer dato de la 1era fila
print($result2); //Imprimimos el primer dato de la 2a fila
?>
4. mysql_create_db()
Cremos la base de datos despues de haver conectado antes.
mysql_create_db(string nombre-base-datos), int [id_connect]);
Código:
<?
mysql_create_db(“PHP-Ref”);//Hemos creado la base de datos con nombre PHP-Ref
?>
5. mysql_drop_db()
Vamos a borrar la base de datos:
mysql_drop_db(string nombre-base-datos, int [id_connect]);
Código:
<?
mysql_drop_db(“PHP-Ref”);//Hemos borrado la base de datos con nombre PHP-Ref
?>
6. mysql_select_db()
Vamos a seleccionar la base de datos que queremos trabajar con ella.
mysql_select_db(string nombre-base-datos, int [id_connect]);
Código:
<?
mysql_select_db(“PHP-Ref”);//Hemos seleccionado la base de datos con nombre PHP-Ref
?>
7. mysql_fetch_array()
Nos da el conteido de el “SELECT” en un array en cada campo
mysql_fetch_array(int id_result, int id_tipo_result);
id_tipo_result: Es una constante que indica el tipode el array que nos devuelve, hay de varios valores que aqui los nombro:
MYSQL_NUM
MYSQL_ASSOC
MYSQL_BOTH
Bueno aquí vi a poner un ejemplo de los datos que nos devuelve un array en $fila. Para acceder a ellos utilizamos el inide del nombre del campo
Codigo:
<?
$consulta=”select nombre,apellidos, email, from datos”;
$query=mysql_query($consulta,$conect);
$fila=mysql_fetch_array($query);
print ($fila[“nombre”].”<br>”) ;// imprimimos el dato del campo nombre
print ($fila[“apellidos”].”<br>”) ;// imprimimos el dato del campo apellidos
print ($fila[“2”].”<br>”) ;// imprimimos el dato del campo nombre email
?>
8. mysql_field_name()
Esta funciones nos dirá el nombre de el campo de la base de datos
mysql_field_name(int identificador_result, int indice-del campo);
Codigo:
<?
$consulta=”select nombre, apellidos, email, edad from datos”;
$query=mysql_query($consulta,$connect);
print(mysql_field_name($query,0)); // nos imprimirá “nombre”
print(mysql_field_name($query,2)); ) // nos imprimirá “email”
?>
9. mysql_field_type()
Esta nos devolverá el dato que hemos almacenado en la BD
Mysql_field_type( int id_result, int indice_del_campo);
Codigo:
<?
$consulta=”select nombre,apellidos,email,edad from datos”;
$query=mysql_query($consulta,$connect);
print(mysql_field_type($query,0)); //nos imirpime “string”
print(mysql_field_type($query,3)); //nos imprime “int”
?>
10. mysql_num_rows()
Esta nos devolvera el numero de “filas” que RESULT al ejecutar la consulta sober la BD
Mysql_numrows(int id_result)
Codigo:
<?
$consulta=”select nombre,apellidos,email from datos”;
$query=mysql_query($consulta,$connect);
$filas=mysql_numrows($query);
print ($filas); //nos imprimira en el navegador el numero de filas que hay seleccionados en nuestra consulta
?>
11. mysql_errno()
Esta nos devuelve el error generado al realizar 1 operación sobre la BD de mySQL
Mysql_errno(int id_connect);
Codigo:
<?
$connect= mySQL_connect(“localhost”,”PHP-Ref”,”tupass”);
$consulta=”select nombre,apellidos,email from datos”;
print(mysql_errno($connect));
?>
Nos devolvera el error porque el nombre de la BD está mal escrita
Vamos a por la ultima función de este mini
12. mysql_error()
Nos devuelve el sms de eror de la operación de la BD de mySQL
Mysql_error(int [identificador_connect]);
Codigo:
<?
$connect=mySQL_conect(“localhost”,”PHP-Ref”,”tupass”);
$consulta=”select nombre, apellidos,email from datoss”); //El eror es la base de datos que se deberia de llamar datos en vez de datoss con dos s
?>
Nos devolverá la siguiente descripción “Table pruebas.datos”
scrusher
27-11-2008, 10:42:59
huy excelente aporte, esto si que sirve jejeje, pablo se le agradece el trabajito de consultar, y de nuevo gracias..... ya tenia tiempo sin conocer algunas de estas funciones.....
El Guaje
18-02-2009, 17:25:36
buen aporte viejito, vale!