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.

PHP: MySQL Funciones

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

Resumir este post con: