Ya tengo instalado Apache (con soporte apache) MySQL y PHP 4. El apache lo he probado y funciona, el php en apache lo he probado y funciona, pero lo que no consigo es que se me relación php con MySQL, es decir, poder modificar mis tablas creadas con MySQL desde una página html con código php. ¿Las páginas php con qué extensión se guardan? Si me pudieras poner un ejemplo te lo agradecería :)
1 respuesta
Respuesta de dfmarin
1
1
dfmarin, He usado Unix desde 1988, y comence con Linux en 1993, coordino...
Los archivos con extensión .php, o .php3 son procesados por el servidor Web a través del modulo PHP (tal y como se indica en httpd.conf) _ _ _ Ok, manos a la obra vamos a crear una tabla de ejemplo llamada inventario en nuestra base de datos MySQL, a la cual nos conectaremos desde PHP para crear una página Web: Mysql> create table inventario ( codigo int(5), producto char(10), fecha date, cantidad int(8), precio decimal(9,2) ); Por si las dudas, comprobá que esta correcta: mysql> describe inventario; Ahora, vamos a poblar la tabla inventario con algunos datos: mysql> insert into inventario values (1, 'Lapiz', '1999-12-16', 50, 283.50); mysql> insert into inventario values (9, 'Papel', '2000-5-21', 3500, 12.75); mysql> insert into inventario values (17, 'Borrador', '1998-9-19', 180, 569.0); mysql> insert into inventario values (23, 'Grapas', '2000-7-8', 4200, 3.66); mysql> insert into inventario values (35, 'Regla', '2001-2-28', 23, 790.20); De nuevo, para no tener errores, verifica que todo esta okn: mysql> select * from inventario; Bueno ya tenemos una tabla inventario, con datos para poder aprender como acceder esos datos desde un programa PHP y crear una página Web. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ La consulta a una base de datos desde PHP, comienza con la conexión a MySQL utilizando la función mysql_connect(), y almacenando el resultado en una variable: $conexion = mysql_connect('servidor','usuario','password'); Una vez realizada la conexión, podemos realizar consultas usando la función mysql_db_query() con una sentencia SQL, como un SELECT, un INSERT, etc.: $consulta = mysql_db_query('base de datos', 'sentencia SQL'); La consulta es almacenada en una variable, que nos permite extraer fila por fila los resultados, utilizando la función mysql_fetch_array() que devuelve una fila (registro) como un arreglo donde el subíndice es el nombre de cada columna (campo): $valores = mysql_fetch_array($consulta); Por ejemplo, para utilizar el valor del código, recurrimos a la variable $valores["codigo"]: print $valores["codigo"] . "<BR>\n"; Obviamente, como son varias las filas de la consulta, esto debe ir en un ciclo. Por ultimo, se deben liberar los recursos de la consulta y cerrar la conexión, usando las funciones mysql_free_result() y mysql_close() Respectivamente: mysql_free_result($consulta); mysql_close(); Ahora pongamos todo en un solo programa PHP: ======================< ejemplo.php >===================== <HTML> <HEAD> <TITLE>EJEMPLO</TITLE> </HEAD> <BODY> <H1>Acceso a la Base de Datos</H1> <UL> <? /* Abrir conexion a la Base de Datos */ $conexion=mysql_connect('localhost','dfmarin','clave'); $consulta=mysql_db_query('dfmarin', 'SELECT * FROM inventario'); /* Mostrar la Consulta */ while ($valores = mysql_fetch_array($consulta)) { print " <LI>Codigo: " . $valores["codigo"] . "<BR>\n"; print " Producto: " . $valores["producto"] . "<BR>\n"; print " Fecha: " . $valores["fecha"] . "<BR>\n"; print " Cantidad: " . $valores["cantidad"] . "<BR>\n"; print " Precio: " . $valores["precio"] . "</LI>\n"; } // while /* Cerrar conexion a la BD */ mysql_free_result($consulta); mysql_close(); ?> </UL> </BODY> </HTML> Ojo! debes corregir este PHP con tu base de datos, tu usuario y tu clave.