PHP MySQLFunciones: mysqli_query, mysqli_connect, mysqli_fetch_array
PHP tiene una rica colecciรณn de funciones integradas para manipular MySQL bases de datos.
Funciรณn PHP mysqli_connect
La funciรณn de conexiรณn PHP mysql se utiliza para conectarse a un MySQL servidor de base de datos.
Tiene la siguiente sintaxis.
<?php; $db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password); ?>
AQUร,
- โ$db_handleโ es la variable de recurso de conexiรณn de la base de datos.
- โmysqli_connect(โฆ)โ es la funciรณn para la conexiรณn a la base de datos php
- โ$server_nameโ es el nombre o direcciรณn IP del servidor que aloja MySQL servidor.
- โ$user_nameโ es un nombre de usuario vรกlido en MySQL servidor.
- โ$contraseรฑaโ es una contraseรฑa vรกlida asociada con un nombre de usuario en MySQL servidor.
Funciรณn PHP mysqli_select_db
La funciรณn mysqli_select_db se utiliza para seleccionar una base de datos.
Tiene la siguiente sintaxis.
<?php mysqli_select_db($db_handle,$database_name); ?>
AQUร,
- โmysqli_select_db(โฆ)โ es la funciรณn de selecciรณn de base de datos que devuelve verdadero o falso
- โ$database_nameโ es el nombre de la base de datos
- โ$link_identifierโ es opcional, se utiliza para pasar el enlace de conexiรณn del servidor
Funciรณn PHP mysqli_query
La funciรณn mysqli_query se utiliza para ejecutar SQL consultas
La funciรณn se puede utilizar para ejecutar los siguientes tipos de consultas:
- recuadro
- Seleccionar
- Actualizar
- eliminar
Tiene la siguiente sintaxis.
<?php mysqli_query($db_handle,$query) ; ?>
AQUร,
- โmysqli_query(โฆ)โ es la funciรณn que ejecuta las consultas SQL.
- โ$queryโ es la consulta SQL que se ejecutarรก
- โ$link_identifierโ es opcional, se puede utilizar para pasar el enlace de conexiรณn del servidor
Funciรณn PHP mysqli_num_rows
La funciรณn mysqli_num_rows se utiliza para obtener la cantidad de filas devueltas de una consulta de selecciรณn.
Tiene la siguiente sintaxis.
<?php mysqli_num_rows($result); ?>
AQUร,
- โmysqli_num_rows(โฆ)โ es la funciรณn de conteo de filas
- โ$resultโ es el conjunto de resultados de mysqli_query
Funciรณn PHP mysqli_fetch_array
La funciรณn mysqli_fetch_array se utiliza para recuperar matrices de filas de un conjunto de resultados de una consulta.
Tiene la siguiente sintaxis.
<?php mysqli_fetch_array($result); ?>
AQUร,
- โmysqli_fetch_array(โฆ)โ es la funciรณn para recuperar matrices de filas
- โ$resultโ es el resultado devuelto por la funciรณn mysqli_query.
Funciรณn PHP mysqli_close
La funciรณn mysqli_close se utiliza para cerrar una conexiรณn de base de datos abierta.
Tiene la siguiente sintaxis.
<?php mysqli_close($db_handle); ?>
AQUร,
- โmysqli_close(โฆ)โ es la funciรณn PHP
- โ$link_identifierโ es opcional, se utiliza para pasar el recurso de conexiรณn del servidor
Veamos ejemplos prรกcticos que aprovechan estas funciones.
Creando el MySQL base de datos Este tutorial asume conocimientos de MySQL y SQL, si estos tรฉrminos no le resultan familiares, consulte nuestra MySQL y tutoriales de SQL.
Crearemos una base de datos simple llamada my_personal_contacts con una sola tabla.
A continuaciรณn se detallan los pasos para crear la base de datos y la tabla.
- Conectar a MySQL utilizando su herramienta de acceso favorita, como MySQL banco de trabajo, phpMyAdmin, etc.
- Crea una base de datos llamada my_person_contacts
- Ejecute el script que se muestra a continuaciรณn para crear la tabla e insertar algunos datos ficticios.
<?php CREATE TABLE IF NOT EXISTS `my_contacts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `full_names` varchar(255) NOT NULL, `gender` varchar(6) NOT NULL, `contact_no` varchar(75) NOT NULL, `email` varchar(255) NOT NULL, `city` varchar(255) NOT NULL, `country` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; INSERT INTO `my_contacts` (`id`, `full_names`, `gender`, `contact_no`, `email`, `city`, `country`) VALUES (1, 'Zeus', 'Male', '111', 'zeus @ olympus . mt . co', 'Agos', 'Greece'), (2, 'Anthena', 'Female', '123', 'anthena @ olympus . mt . co', 'Athens', 'Greece'), (3, 'Jupiter', 'Male', '783', 'jupiter @ planet . pt . co', 'Rome', 'Italy'), (4, 'Venus', 'Female', '987', 'venus @ planet . pt . co', 'Mars', 'Italy'); ?>
Ahora tenemos una base de datos configurada que manipularemos desde PHP.
Lectura de registros de la base de datos Ahora crearemos un programa que imprima los registros de la base de datos.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysqli_error());
//if selection fails output error message
$sql_stmt = "SELECT * FROM my_contacts";
//SQL select query
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement
if (!$result)
die("Database access failed: " . mysqli_error());
//output error message if query execution failed
$rows = mysqli_num_rows($result);
// get number of rows returned
if ($rows) {
while ($row = mysqli_fetch_array($result)) {
echo 'ID: ' . $row['id'] . '<br>';
echo 'Full Names: ' . $row['full_names'] . '<br>';
echo 'Gender: ' . $row['gender'] . '<br>';
echo 'Contact No: ' . $row['contact_no'] . '<br>';
echo 'Email: ' . $row['email'] . '<br>';
echo 'City: ' . $row['city'] . '<br>';
echo 'Country: ' . $row['country'] . '<br><br>';
}
}
mysqli_close($dbh); //close the database connection
?>
La ejecuciรณn del cรณdigo anterior devuelve los resultados que se muestran en el diagrama que se muestra a continuaciรณn.
Insertar nuevos registros
Veamos ahora un ejemplo que agrega un nuevo registro a nuestra tabla. El siguiente cรณdigo muestra la implementaciรณn.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysql_error());
//if selection fails output error message
$sql_stmt = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)";
$sql_stmt .= " VALUES('Poseidon','Mail','541',' poseidon @ sea . oc ','Troy','Ithaca')";
$result = mysqli_query($dbh,$sql_stmt); //execute SQL statement
if (!$result)
die("Adding record failed: " . mysqli_error());
//output error message if query execution failed echo "Poseidon has been successfully added to your contacts list";
mysqli_close($dbh); //close the database connection
?>
Al ejecutar el cรณdigo anterior se obtiene "Poseidรณn se ha agregado correctamente a su lista de contactos", regrese al ejemplo de consulta de selecciรณn y recupere sus contactos nuevamente.
Comprueba si Poseidรณn se ha aรฑadido a tu lista.
Actualizaciรณn de registros Veamos ahora un ejemplo que actualiza un registro en la base de datos.
Supongamos que Poseidรณn ha cambiado su nรบmero de contacto y direcciรณn de correo electrรณnico.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server
if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysql_error());
//if selection fails output error message
$sql_stmt = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = ' poseidon @ ocean . oc ';
//SQL select query $sql_stmt .= " WHERE `id` = 5";
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement if (!$result)
die("Deleting record failed: " . mysqli_error());
//output error message if query execution failed
echo "ID number 5 has been successfully updated";
mysqli_close($dbh); //close the database connection
?>
Eliminando registros
Veamos ahora un ejemplo que elimina registros de la base de datos. Supongamos que Venus tiene una orden de restricciรณn contra nosotros y debemos eliminar su informaciรณn de contactos de nuestra base de datos de CRISPR Medicine News.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server
if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysqli_error());
//if selection failes output error message $id = 4;
//Venus's ID in the database
$sql_stmt = "DELETE FROM `my_contacts` WHERE `id` = $id";
//SQL Delete query
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement
if (!$result)
die("Deleting record failed: " . mysqli_error());
//output error message if query execution failed
echo "ID number $id has been successfully deleted";
mysqli_close($dbh); //close the database connection
?>
Objeto de acceso a datos PHP PDO
El PDO es una clase que nos permite manipular diferentes motores de bases de datos como MySQL, PostGres, MS SQL Server, etc.
El siguiente cรณdigo muestra el mรฉtodo de acceso a la base de datos utilizando el objeto PDO.
Nota: El siguiente cรณdigo supone conocimiento del lenguaje SQL, matrices, manejo de excepciones y bucle foreach.
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=my_personal_contacts", 'root', 'melody');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('SET NAMES "utf8"');
$sql_stmt = "SELECT * FROM `my_contacts`";
$result = $pdo->query($sql_stmt);
$result->setFetchMode(PDO::FETCH_ASSOC);
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
print_r($data);
}
catch (PDOException $e) {
echo $e->getMessage();
}
?>
AQUร,
- โtry{โฆcatchโฆ}โ es el bloque de manejo de excepciones
- โ$pdo = new PDO(โmysqlโฆโ crea una instancia del objeto PDO y pasa los controladores de la base de datos, los nombres del servidor y de la base de datos, el ID del usuario y la contraseรฑa.
- โ$pdo->setAttโฆโ establece los atributos del modo de error y del modo de excepciรณn de PDO
- โ$pdo->exec('SET NAโฆโ establece el formato de codificaciรณn
ODBC ODBC es el acrรณnimo de Open Database Connectivity. Tiene la siguiente sintaxis bรกsica.
<?php $conn = odbc_connect($dsn, $user_name, $password); ?>
AQUร,
- โodbc_connectโ es la funciรณn integrada de PHP
- โ$dsnโ es el nombre de la fuente de datos ODBC.
- โ$user_nameโ es opcional, se usa para el nombre de usuario ODBC
- โ$contraseรฑaโ es opcional, se utiliza para la contraseรฑa ODBC
El ejemplo utilizado supone que usted;
- Estรกn usando Windows OS
- Ha creado un enlace ODBC hacia el viento del norte. Microsoft Acceda a la base de datos llamada Northwind
A continuaciรณn se muestra el cรณdigo de implementaciรณn para el acceso a datos ODBC.
<?php
$dbh = odbc_connect('northwind', '', '');
if (!$dbh) {
exit("Connection Failed: " . $dbh);
}
$sql_stmt = "SELECT * FROM customers";
$result = odbc_exec($dbh, $sql_stmt);
if (!$result) {
exit("Error access records");
}
while (odbc_fetch_row($result)) {
$company_name = odbc_result($result, "CompanyName");
$contact_name = odbc_result($result, "ContactName");
echo "<b>Company Name (Contact Person):</b> $company_name ($contact_name) <br>";
}
odbc_close($dbh);
?>
Resumen
- MySQL es una gestiรณn de bases de datos relacionales de cรณdigo abierto disponible en la mayorรญa de los servidores de alojamiento web
- PHP tiene una rica colecciรณn de funciones integradas que simplifican el trabajo con MySQL
- PDO es el acrรณnimo de PHP Data Object; se utiliza para conectarse a diferentes motores de bases de datos utilizando el mismo objeto
- PHP usa la funciรณn odbc_connect para manipular bases de datos a travรฉs de ODBC

