PHP


¿Qué es PHP?

PHP es un lenguaje interpretado diseñado para favorecer el desarrollo de web sites dinámicos y sus aplicaciones. La distribución más popular de PHP es como módulo para el web-server Apache, aunque puede funcionar como un interprete para ejecutar aplicaciones Cgi en aquellos web-servers que no lo soporten como módulo.
PHP se distribuye en formato open-source y es gratuito, una instalación habitual de PHP consiste en compilar el módulo PHP y luego recompilar el Apache para que utilice el módulo recientemente compilado.




Manejo de Base de Datos

Una de las características más importantes de PHP es su integración con diversos motores de base de datos.
El PHP está construido para generar en forma sencilla páginas web dinámicas a partir de información almacenada en bases de datos. A continuación se muestran las funciones más importantes y ejemplos típicos de uso para una base MySql.

1. Conexión a la base

$db_link=mysql_connect(hostname, user, password);

Ejemplo:

$db=mysql_connect(“localhost”,”root”,”secreto”);

La función realiza la conexión a la base Mysql y devuelve “false” si hubo algún error en la conexión o un link a la conexión a la base en caso de que la conexión sea exitosa.
El link es un número que indica la sesión dentro del MySql. Esta sesión se mantiene hasta que [...]. Para finalizar la conexión se debe utilizar la función mysql_close(). Es muy importante cerrar la conexión a la base de datos una vez finalizadas las transacciones para evitar la sobrecarga en el motor de la base de datos.

2. Selección de la base de datos a utilizar

mysql_select_db(database_name, db_link);

Ejemplo:

mysql_select_db(“test”,$db);

Esta función configura cual es la base de datos que se utilizara por omisión. En este caso el link a utilizar en esta función es el link que se obtuvo al ejecutar la función mysql_connect.
La función mysql_select_db devuelve el valor “false” en caso de que se encuentre algún error, como por ejemplo la inexistencia de la base de datos.
En este punto cabe aclarar que la denominación de las bases de datos de MySql es case-sensitive, por lo que debemos mantener un standard a la hora de elegir los nombres de las distintas bases de datos.

3. Queries a la base de datos

$result=mysql_query(query,db_link);

Ejemplo:

$result=mysql_query(“update clientes set deudor=’si’ where
apellido=’Picapiedras’, $db)
$query=”insert into clientes (nombre, Apellido) values (Pedro, Mármol) ”;
$result=mysql_query($query,$db);

Nuevamente el link que se debe usar es el que se obtiene al conectarse a la base, mysql_query devuelve falso en caso de que el query no pueda ejecutarse (error de SQL) o bien un result set en los casos que devuelva algún tipo de datos como por ejemplo en un select...Es muy importante fijarse con que usuario se realizó la conexión a la base de datos a la hora de ejecutar el mysql_connect, ya que la gran mayoría de los errores producidos en esta instancia son el resultado de la falta de permisos para realizar la consulta.

4. Cantidad de Filas Consultadas o Modificadas

a. Filas Consultadas

$cantidad=mysql_num_rows($result);
Ejemplo:
$query=”select nombre, telefono from contactos where edad between 20 and 25 and sexo=’f’”;
$result=mysql_query($query,$db);
$cant=mysql_num_rows($result);

Esta función devuelve la cantidad de filas que se obtuvieron luego de ejecutar una instrucción de consulta como por ejemplo la función select.
En el caso del ejemplo, en la variable $cant nos dirá cuantas chicas de entre 20 y 25 años tenemos en nuestra lista de contactos.

b. Filas Modificadas

$cantidad=mysql_affected_rows(db_link);
Ejemplo:
$cuantos=mysql_affected_rows($db);
Devuelve cuantos registros fueron afectados por un query con insert, update, o delete, notar que se le pasa el db_link ya que el result_set no tiene sentido. Si el query fue un delete sin clausula “where” esta función devuelve cero independientemente del número de registros eliminados de la tabla.

5. Obtención de registros de una consulta

a. Obtención de datos en un result set

$var=mysql_fetch_row(result_set);

Ejemplo:

$query=”select nombre, telefono from contactos where edad between 20 and 25 and sexo=’f’”;
$result=mysql_query($query,$db);$rs=mysql_fetch_row($result);
Toma un registro del result set y lo devuelve en un vector en el cual el elemento con índice 0 es la primera columna del registro, el elemento con índice 1 es la segunda columna, etc. Si no hay más registros por devolver devuelve false.
Los valores de los campos solicitados en el result set son devueltos en forma de array, es decir que para acceder al valor de nombre de la primera fila de nuestro ejemplo debo llamar a la variable $rs[0].

Ejemplo:

while($v=mysql_fetch_row($result)) {
print(“Columna 0: $v[0] Columna 1: $v[1]”);
}

b. Obtención de datos en un vector

$query=”select nombre, telefono from contactos where edad between 20 and 25 and sexo=’f’”;
$result=mysql_query($query,$db);
$rs=mysql_fetch_array($result);

Ejemplo:

$rs=mysql_fetch_array($result);

Funciona de forma idéntica a mysql_fetch_row pero devuelve los resultados en un vector asociativo indexado
por nombre de columna, por lo que para obtener los nombres de nuestra consulta es necesario llamar al vector de la forma

$rs[“nombre”]

Ejemplo:

while($v=mysql_fetch_array($result)) {
print(“Columna 0: $v[“nombre”]”);
}

6. Cerrar la conexión

mysql_close(db_link)

Por último, esta función nos sirve para cerrar la conexión a la base se usa.

CONTENIDO
   APACHE
   PHP
   MYSQL
   PROYECTO
   SUGERENCIAS

MY SQL - PHP PARA LINUX