PHP MySQLi Fonctions : mysqli_query, mysqli_connect, mysqli_fetch_array

PHP possรจde une riche collection de fonctions intรฉgrรฉes pour manipuler MySQL bases de donnรฉes.

Fonction PHP mysqli_connect

La fonction PHP mysql connect est utilisรฉe pour se connecter ร  un MySQL serveur de base de donnรฉes.

Il a la syntaxe suivante.

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

ICI,

  • ยซ $db_handle ยป est la variable de ressource de connexion ร  la base de donnรฉes.
  • "mysqli_connect(โ€ฆ)" est la fonction de connexion ร  la base de donnรฉes php
  • ยซ $server_name ยป est le nom ou l'adresse IP du serveur d'hรฉbergement MySQL serveur.
  • ยซ $user_name ยป est un nom d'utilisateur valide dans MySQL serveur.
  • ยซ $password ยป est un mot de passe valide associรฉ ร  un nom d'utilisateur dans MySQL serveur.

Fonction PHP mysqli_select_db

La fonction mysqli_select_db permet de sรฉlectionner une base de donnรฉes.

Il a la syntaxe suivante.

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

ICI,

  • ยซ mysqli_select_db(โ€ฆ) ยป est la fonction de sรฉlection de base de donnรฉes qui renvoie vrai ou faux
  • "$database_name" est le nom de la base de donnรฉes
  • ยซ $link_identifier ยป est facultatif, il est utilisรฉ pour transmettre le lien de connexion au serveur

Fonction PHP mysqli_query

La fonction mysqli_query est utilisรฉe pour exรฉcuter SQL requรชtes.

La fonction peut รชtre utilisรฉe pour exรฉcuter les types de requรชtes suivants :

  • insรฉrer
  • Sรฉlectionner
  • Mises ร  jour
  • delete

Il a la syntaxe suivante.

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

ICI,

  • ยซ mysqli_query(โ€ฆ) ยป est la fonction qui exรฉcute les requรชtes SQL.
  • ยซ $query ยป est la requรชte SQL ร  exรฉcuter
  • ยซ $link_identifier ยป est facultatif, il peut รชtre utilisรฉ pour transmettre le lien de connexion au serveur

Fonction PHP mysqli_num_rows

La fonction mysqli_num_rows est utilisรฉe pour obtenir le nombre de lignes renvoyรฉes par une requรชte de sรฉlection.

Il a la syntaxe suivante.

<?php
mysqli_num_rows($result);
?>

ICI,

  • ยซ mysqli_num_rows(โ€ฆ) ยป est la fonction de comptage de lignes
  • "$result" est le jeu de rรฉsultats mysqli_query

Fonction PHP mysqli_fetch_array

La fonction mysqli_fetch_array est utilisรฉe pour rรฉcupรฉrer des tableaux de lignes ร  partir d'un ensemble de rรฉsultats de requรชte.

Il a la syntaxe suivante.

<?php
mysqli_fetch_array($result);
?>

ICI,

  • "mysqli_fetch_array(โ€ฆ)" est la fonction permettant de rรฉcupรฉrer des tableaux de lignes
  • ยซ $result ยป est le rรฉsultat renvoyรฉ par la fonction mysqli_query.

Fonction PHP mysqli_close

La fonction mysqli_close est utilisรฉe pour fermer une connexion ร  une base de donnรฉes ouverte.

Il a la syntaxe suivante.

<?php
mysqli_close($db_handle);
?>

ICI,

  • ยซ mysqli_close(โ€ฆ) ยป est la fonction PHP
  • ยซ $link_identifier ยป est facultatif, il est utilisรฉ pour transmettre la ressource de connexion au serveur

Examinons des exemples pratiques qui tirent parti de ces fonctions.

Crรฉation du MySQL base de donnรฉes Ce tutoriel suppose la connaissance de MySQL et SQL, si ces termes ne vous sont pas familiers, reportez-vous ร  notre MySQL et des didacticiels SQL.

Nous allons crรฉer une base de donnรฉes simple appelรฉe my_personal_contacts avec une seule table.

Vous trouverez ci-dessous les รฉtapes pour crรฉer la base de donnรฉes et la table.

  • Connectez-vous ร  MySQL en utilisant votre outil d'accรจs prรฉfรฉrรฉ tel que MySQL รฉtabli, phpMyAdmin etc.
  • Crรฉez une base de donnรฉes nommรฉe my_person_contacts
  • Exรฉcutez le script ci-dessous pour crรฉer la table et insรฉrer des donnรฉes factices
<?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');
?>

Nous avons maintenant une base de donnรฉes configurรฉe que nous allons manipuler depuis PHP.

Lecture des enregistrements de la base de donnรฉes Nous allons maintenant crรฉer un programme qui imprime les enregistrements de la base de donnรฉes.

<?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 
?>

L'exรฉcution du code ci-dessus renvoie les rรฉsultats affichรฉs dans le diagramme ci-dessous

PHP: MySQL Les fonctions

Insรฉrer de nouveaux enregistrements

Regardons maintenant un exemple qui ajoute un nouvel enregistrement dans notre table. le code ci-dessous montre l'implรฉmentation.

<?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 
?>

En exรฉcutant les rรฉsultats de code ci-dessus ยซ Posรฉidon a รฉtรฉ ajoutรฉ avec succรจs ร  votre liste de contacts ยป, revenez ร  l'exemple de requรชte de sรฉlection et rรฉcupรฉrez ร  nouveau vos contacts.

Vรฉrifiez si Posรฉidon a รฉtรฉ ajoutรฉ ร  votre liste.

Mise ร  jour des enregistrements Regardons maintenant un exemple qui met ร  jour un enregistrement dans la base de donnรฉes.

Supposons que Posรฉidon ait changรฉ son numรฉro de contact et son adresse e-mail.

<?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 
?>

Suppression d'enregistrements

Regardons maintenant un exemple qui supprime des enregistrements de la base de donnรฉes. Supposons que Vรฉnus ait une injonction ร  notre encontre et que nous devions supprimer ses coordonnรฉes de notre rรฉseau. base de donnรฉes.

<?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 
?>

Objet PDO d'accรจs aux donnรฉes PHP

Le PDO est une classe qui nous permet de manipuler diffรฉrents moteurs de bases de donnรฉes tels que MySQL, PostGres, MS SQL Server, etc.

Le code ci-dessous montre la mรฉthode d'accรจs ร  la base de donnรฉes ร  l'aide de l'objet PDO.

ร€ noter: le code ci-dessous suppose une connaissance du langage SQL, des tableaux, de la gestion des exceptions et de la boucle 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(); 
} 
?>

ICI,

  • "try{โ€ฆcatchโ€ฆ}" est le bloc de gestion des exceptions
  • "$pdo = new PDO("mysql..." crรฉe une instance de l'objet PDO et transmet les pilotes de base de donnรฉes, les noms de serveur et de base de donnรฉes, l'identifiant utilisateur et le mot de passe.
  • ยซ $pdo->setAttโ€ฆ ยป dรฉfinit les attributs du mode d'erreur et du mode d'exception du PDO.
  • ยซ $pdo->exec('SET NAโ€ฆ ยป dรฉfinit le format d'encodage

ODBC ODBC est l'acronyme de Open Database Connectivity. Il a la syntaxe de base suivante.

<?php $conn = odbc_connect($dsn, $user_name, $password); ?>

ICI,

  • "odbc_connect" est la fonction intรฉgrรฉe ร  PHP
  • ยซ $dsn ยป est le nom de la source de donnรฉes ODBC.
  • "$user_name" est facultatif, il est utilisรฉ pour le nom d'utilisateur ODBC
  • ยซ $password ยป est facultatif, il est utilisรฉ pour le mot de passe ODBC

L'exemple utilisรฉ suppose que vous ;

  • Utilisent Windows OS
  • Vous avez crรฉรฉ un lien ODBC vers Northwind Microsoft Base de donnรฉes Access nommรฉe Northwind

Vous trouverez ci-dessous le code d'implรฉmentation pour l'accรจs aux donnรฉes 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); 
?>

Rรฉsumรฉ

  • MySQL est une gestion de base de donnรฉes relationnelle open source disponible sur la plupart des serveurs d'hรฉbergement Web
  • PHP possรจde une riche collection de fonctions intรฉgrรฉes qui simplifient le travail avec MySQL
  • PDO est l'acronyme de PHP Data Object ; il est utilisรฉ pour se connecter ร  diffรฉrents moteurs de bases de donnรฉes en utilisant le mรชme objet
  • PHP utilise la fonction odbc_connect pour manipuler les bases de donnรฉes via ODBC

Rรฉsumez cet article avec :