Saltar al contenido

Funciones PHP de MySQLi: mysqli_query, mysqli_connect, mysqli_fetch_array

PHP tiene una rica colección de funciones integradas para manipular bases de datos MySQL.

En este tutorial, aprenderá:

Función PHP mysqli_connect

La función de conexión PHP mysql se utiliza para conectarse a un servidor de base de datos MySQL.

Tiene la siguiente sintaxis.

<?php;
$db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password);
?>

AQUÍ,

Función PHP mysqli_select_db

La función mysqli_select_db se usa para seleccionar una base de datos.

Tiene la siguiente sintaxis.

<?php
mysqli_select_db($db_handle,$database_name);
?>

AQUÍ,

Función PHP mysqli_query

La función mysqli_query se usa para ejecutarlo SQL Preguntas.

La función se puede utilizar para ejecutar los siguientes tipos de consultas;

  • Insertar
  • Escoger
  • Actualizar
  • eliminado

Tiene la siguiente sintaxis.

<?php
mysqli_query($db_handle,$query) ;
?>

AQUÍ,

  • La función que ejecuta las consultas SQL es “mysqli_query (…)”.
  • La consulta SQL para hacer es «$ consulta»
  • «$ Link_identifier» es opcional, se puede usar para ingresar al enlace de conexión del servidor

Función PHP mysqli_num_rows

La función mysqli_num_rows se usa para obtener el número de filas devueltas de una consulta seleccionada.

Tiene la siguiente sintaxis.

<?php
mysqli_num_rows($result);
?>

AQUÍ,

  • La función de conteo es «mysqli_num_rows (…)»
  • El conjunto de resultados de mysqli_query es «$ resultado»

Función PHP mysqli_fetch_array

La función mysqli_fetch_array se utiliza para obtener matrices consecutivas de un conjunto de consultas.

Tiene la siguiente sintaxis.

<?php
mysqli_fetch_array($result);
?>

AQUÍ,

  • La función para obtener matrices consecutivas es «mysqli_fetch_array (…)»
  • El resultado devuelto por la función mysqli_query es «$ resultado».

Función PHP mysqli_close

La función mysqli_close se usa para cerrar una conexión de base de datos abierta.

Tiene la siguiente sintaxis.

<?php
mysqli_close($db_handle);
?>

AQUÍ,

Observamos ejemplos prácticos que se benefician de estas funciones.

Creación de la base de datos MySQL Este tutorial toma conocimiento de MySQL y SQL, si no está familiarizado con estos términos, consulte nuestros tutoriales de MySQL y SQL.

Crearemos una base de datos simple llamada my_personal_contacts con una sola tabla.

A continuación se muestran los pasos para crear la base de datos y la tabla.

<?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 hemos configurado una base de datos que manipularemos desde PHP.

Leyendo registros de la base de datos Ahora crearemos un programa que imprimirá 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 
?>

Al ejecutar los códigos anteriores, se obtienen los resultados que se muestran en el diagrama a continuación

Envío de 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 
?>

Para ejecutar los resultados del código anterior, «Poseidon se ha agregado correctamente a su lista de contactos», vuelva a la muestra de consulta seleccionada y recupere sus contactos.

Vea si Poseidón se ha agregado a su lista.

Actualización de registros Veamos ahora un ejemplo de actualización de un registro en la base de datos.

Creemos que Poseidón cambió su número de contacto y su 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 
?>

Registros eliminados

Veamos ahora un ejemplo de extracción de registros de la base de datos. Creemos que Venus tiene una orden de restricción en nuestra contra y necesitamos eliminar la información de sus contactos de nuestra 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 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 
?>

Objetivo de acceso a datos PHP PDO

PDO es una clase que nos permite manipular varios 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 tiene conocimiento del lenguaje SQL, la matriz, el manejo de excepciones y los bucles 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Í,

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Í,

El ejemplo utilizado asume que usted;

A continuación se muestra el código de implementación para acceder a los 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