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
- Pour plus d'information
- Mises à jour
- effacer
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
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.
Remarque : 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