

- Introducción. En este artículo se discutirá cómo conectar PHP y MySQL, para crear una base de datos dinámica basada en web. Voy a suponer que usted ya tiene una PHP y MySQL copia instalada en su sistema y que todos los trabajos. También me supongo que usted tiene conocimientos básicos sobre PHP incluida la sintaxis de PHP y cómo ejecutar un script PHP.
- PHP y MySQL. PHP ya incluye un módulo de MySQL en su distribución, de modo que no será necesario instalar un módulo de software adicional.
- Crear usuario de MySQL. Para crear un nombre de usuario y su contraseña para ejecutar la secuencia de comandos de MySQL aplicación de consola. Debe acceder como root, y luego ejecutar esta instrucción SQL:
CREATE DATABASE db_test;
USO db_test;
CREATE TABLE tbl_phonebook
(
phone_id INT clave principal no NULL AUTO_INCREMENT,
phone_name VARCHAR (40),
phone_number VARCHAR (40),
ÍNDICE phone_name_idx (phone_name),
ÍNDICE phone_number_idx (phone_number)
);
SUBVENCIÓN SELECT, UPDATE, DELETE, INSERT para db_test .*
TO 'test_user' IDENTIFIED BY 'test_user';Después de ejecutar los comandos SQL, MySQL creará una base de datos denominada db_testque contiene una tabla llamada tbl_phonebook. Vamos a utilizar esta mesa para nuestra muestra de aplicaciones web.
- Conexión a la base de datos MySQL. Para establecer la conexión a una base de datos MySQL, usted necesita llamar a mysql_connect () o mysql_pconnect (). Básicamente todos son similares, excepto el segundo se creará una conexión persistente. Una conexión persistente es una relación que persiste incluso si la conexión está cerrada.
<? php
$ link = mysql_connect ( 'localhost', 'test_user', 'test_user');
$ persist_link mysql_pconnect = ( 'localhost', 'test_user', 'test_user');
?>mysql_pconnect () es más rápido que mysql_connect () porque elimina los gastos generales para establecer una conexión con la base de datos MySQL. Si mysql_pconnect () considera que una conexión persistente ya está disponible para un usuario, que va a usar, de lo contrario crea nueva conexión.
Al respecto, la terminación, mysql_connect () y de mysql_pconnect () devuelve un identificador para la conexión.
- Selección de una base de datos para su uso.Para seleccionar la base de datos de uso, debe llamar mysql_shutdown (). Esta función requiere un nombre de base de datos y manejar opcional de conexión de base de datos. Si omite el asa de la conexión, se utilizará la conexión abierta actualmente.
<? php
$ link = mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test', $ enlace);
?>Selección de una base de datos es un paso opcional, que puede saltar. Sin embargo, si lo hace saltar, usted debe incluir el nombre de base de datos y nombre de tabla para acceder a una tabla. Por ejemplo, para acceder a tbl_phonebook debe proporcionar el nombre completo db_test.tbl_phonebook en lugar de tbl_phonebook. Por favor tenga en cuenta, debe utilizar un período para separar el nombre de base de datos y nombre de tabla.
- Ejecutar SQL.Después de que haya una conexión válida y ha seleccionado una base de datos activa, usted está listo para ejecutar la instrucción SQL que hacer algunos manipulación de datos. Para ejecutar la sentencia SQL, el uso mysql_query () función.
Esta función requiere al menos un parámetro, que es el comando SQL que desea ejecutar. El segundo parámetro es la conexión que desea utilizar. Este parámetro es opcional. Si lo omitimos, la conexión abierta actualmente se utiliza. Si no hay una conexión abierta, esta función intentará establecer una nueva conexión.
<? php
mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test');
$ sql = "SELECT * FROM tbl_phonebook";
mysql_query ($ sql);
?> - Inserción de nuevos datos en la base de datos. Para insertar un nuevo registro en la base de datos, usted debe ejecutar la sentencia INSERT. Por ejemplo:
<? php
mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test');
$ sql = "INSERT INTO tbl_phonebook
(
phone_name,
phone_number
)
VALORES
(
'Johny Greenwood,
"+6281455632112'
) ";
mysql_query ($ sql);
?>Por la INSERTE operación, para saber si la ejecución logrado o no, usamos el valor de retorno por mysql_query (). Devuelve valor booleano, es decir, TRUE, si se logró o FALSE si no.
Para saber qué registros se vieron afectados por la ejecución de este comando SQL, hacemos un llamamiento mysql_affected_rows (). Esta función necesita una conexión opcional de parámetros. Si se omite entonces la conexión abierta curently va a ser utilizada. Esta función devuelve el número de filas afectadas.
<? php
mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test');
$ sql = "INSERT INTO tbl_phonebook
(
phone_name,
phone_number
)
VALORES
(
'Johny Greenwood,
"+6281455632112'
) ";
mysql_query ($ sql);
imprimir ( 'Número de filas afectadas:'. mysql_affected_rows ());
?> - Recuperación de datos desde una base de datos.Para recuperar datos de una base de datos, usamos comando SELECT. Este ejemplo se muestra anteriormente. En este sentido, muestran de nuevo.
<? php
mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test');
$ sql = "SELECT * FROM tbl_phonebook";
mysql_query ($ sql);
?>El anterior fragmento de código no hizo nada útil. Para que los datos disponibles para ver, hay que buscar filas. Si usamos mysql_query () para la operación de selección, regresará a las filas de recursos por la sentencia SELECT. Para obtener los datos de este recurso que usamos mysql_fetch_row (), mysql_fetch_assoc (), mysql_fetch_array () o mysql_fetch_object. Cada vez mysql_fetch_ ***() se llama, la base de datos cursor se incremento a los próximos datos. Si estas retorno NULL, el cursor se encuentra al final del archivo (EOF), por lo que no hay más datos a regresar.
mysql_fetch_rows () obtendrá los datos y devolver los datos como una serie numérica. Por ejemplo:
El uso de mysql_fetch_rows ():
<? php
mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test');
$ sql = "SELECT * FROM tbl_phonebook";
= $ res mysql_query ($ sql);
if ($ res)
(
while ($ data = mysql_fetch_row ($ res))
(
print ( "<p> Nombre:". $ datos [1]);
print ( "Teléfono:". $ datos [2 ]."</ p> ");
)
mysql_free_result ($ res);
)
?>Datos de los phone_name campo se devuelve en el índice de número 1, ya que todos los campos seleccionados. Por lo tanto, el índice 0 contendrá los datos de campo phone_id que phone_number campo será devuelto en el índice 2.
mysql_free_result () libera los recursos devueltos por mysql_query (). PHP automáticamente libera todos los recursos cuando el guión está terminado, por lo que se pide mysql_free_result () es opcional, pero sin duda un buen hábito de programación.
mysql_fetch_row () obtendrá los datos y devolver los datos como una matriz asociativa. Por ejemplo:
El uso de mysql_fetch_assoc ():
<? php
mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test');
$ sql = "SELECT * FROM tbl_phonebook";
= $ res mysql_query ($ sql);
if ($ res)
(
while ($ data = mysql_fetch_assoc ($ res))
(
print ( "<p> Nombre:". $ datos [ 'phone_name']);
print ( "Teléfono:". $ datos [ 'phone_number']."</ p> ");
)
mysql_free_result ($ res);
)
?>Tenga en cuenta que el nombre del campo se utiliza para indexar la matriz.
mysql_fetch_array () es una combinación de mysql_fetch_row () y mysql_fecth_assoc (). Devuelve una matriz numérica, así como una matriz asociativa.
mysql_fetch_object () obtiene las filas de datos y devuelve como un objeto. Por ejemplo:
<? php
mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test');
$ sql = "SELECT * FROM tbl_phonebook";
= $ res mysql_query ($ sql);
if ($ res)
(
while ($ data = mysql_fetch_object ($ res))
(
print ( "<p> Nombre:". $ datos-> phone_name);
print ( "Teléfono:". $ datos-> phone_number. "</ p>");
)
mysql_free_result ($ res);
)
?>Para saber cuántas filas han sido devueltos por mysql_query (), de llamar mysql_num_rows (). Se requiere un parámetro, es decir, los recursos devueltos por mysql_query ().
$ tot_record = mysql_num_rows ($ res);
- Actualización de datos. Para actualizar los datos que ejecutar el comando ACTUALIZACIÓN.
<? php
mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test');
$ sql = "UPDATE tbl_phonebook CONJUNTO phone_number ='0135928549 'WHERE phone_id = 1";
= $ res mysql_query ($ sql);
if ($ res)
(
print ( "Actualización de éxito ');
) Else
print ( "Actualización de no ');
?>Similar a INSERT, UPDATE comando no generar un conjunto de resultados, sino sólo el valor booleano; TRUE si tiene éxito de otra de las falsas. Para saber cuántas filas se affecteded por la actualización de mando, el uso mysql_affected_rows ().
- Extracción de datos. Para eliminar un registro que puede utilizar el comando Eliminar:
<? php
mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test');
$ sql = "DELETE FROM tbl_phonebook DONDE phone_id = 1";
= $ res mysql_query ($ sql);
if ($ res)
(
print ( "Teléfono ID = 1 suprime ');
) Else
print ( "No se puede borrar ');
?> - Cierre de conexión. Para cerrar lo que hemos abierto, pedimos mysql_close (). Se requiere un parámetro opcional, es decir, una conexión a cerrar. Si wanto para cerrar la conexión abierta actualmente, omita el parámetro opcional.
<? php
$ link = mysql_connect ( 'localhost', 'test_user', 'test_user');
mysql_shutdown ( 'db_test', $ enlace);
$ sql = "SELECT * FROM tbl_phonebook";
= $ res mysql_query ($ sql, $ enlace);
if ($ res)
(
while ($ data = mysql_fetch_object ($ res))
(
print ( "<p> Nombre:". $ datos-> phone_name);
print ( "Teléfono:". $ datos-> phone_number. "</ p>");
)
mysql_free_result ($ res);
)
mysql_close ($ enlace);
?> - Conclusión. Hemos discutido los pasos básicos para permitir que de PHP interactuar con MySQL, así como la forma de establecer una conexión de base de datos, cómo seleccionar una base de datos activa, y la forma de ejecutar un comando SQL.


Delicious
Digg
Google
Yahoo