PHP MySQLFunciones: mysqlyo_consulta, mysqlMe conecto, mysqli_fetch_array

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

PHP mysqlfunción i_connect

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

tiene el siguientewing 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 de 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.

PHP mysqlfunción i_select_db

La mysqlLa función i_select_db se utiliza para seleccionar una base de datos.

tiene el siguientewing sintaxis.

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

AQUÍ,

  • "mysqli_select_db(…)” es la función de selección de la 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

PHP mysqlfunción i_query

La mysqlLa función i_query se utiliza para ejecutar SQL consultas

La función se puede utilizar para ejecutar lo siguiente.wing tipos de consulta;

  • recuadro
  • Seleccione
  • Actualizar
  • borrar

tiene el siguientewing 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

PHP mysqlfunción i_num_rows

La mysqlLa función i_num_rows se utiliza para obtener el número de filas devueltas por una consulta de selección.

tiene el siguientewing sintaxis.

<?php
mysqli_num_rows($result);
?>

AQUÍ,

  • "mysqli_num_rows(…)” es la función de recuento de filas
  • “$resultado” es el mysqlconjunto de resultados de i_query

PHP mysqlfunción i_fetch_array

La mysqlLa función i_fetch_array se utiliza para buscar matrices de filas de un conjunto de resultados de una consulta.

tiene el siguientewing sintaxis.

<?php
mysqli_fetch_array($result);
?>

AQUÍ,

  • "mysqli_fetch_array(…)” es la función para recuperar matrices de filas
  • “$resultado” es el resultado devuelto por el mysqlfunción i_query.

PHP mysqlfunción i_close

La mysqlLa función i_close se utiliza para cerrar una conexión de base de datos abierta.

tiene el siguientewing 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 Clave

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 email direcció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 = "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.

<?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 = nuevo 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, la identificación de 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 Conectividad Abierta de Bases de Datos. tiene el siguientewing 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