{"id":26981,"date":"2023-10-02T16:44:47","date_gmt":"2023-10-02T16:44:47","guid":{"rendered":"\/tutoriels\/?p=26981"},"modified":"2024-03-30T05:17:36","modified_gmt":"2024-03-30T05:17:36","slug":"connecter-php-base-donnees-mysql","status":"publish","type":"post","link":"\/fr\/tutoriels\/connecter-php-base-donnees-mysql\/","title":{"rendered":"Comment se connecter \u00e0 une base de donn\u00e9es MySQL en PHP"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Pour les d&eacute;butants en d&eacute;veloppement de sites web, il est tr&egrave;s utile de savoir comment utiliser les scripts PHP pour se connecter &agrave; MySQL. Cela vous permet de modifier, d&rsquo;afficher ou de g&eacute;rer les tables de la base de donn&eacute;es MySQL. Dans cet article, nous allons vous pr&eacute;senter les m&eacute;thodes les plus simples pour y parvenir. C&rsquo;est parti !<\/p><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Speed-Up-Your-Website-FR.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/eBook_-Speed-Up-your-website-FR-1024x283-1.png\/public\" alt=\"\" class=\"wp-image-41455\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/eBook_-Speed-Up-your-website-FR-1024x283-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/eBook_-Speed-Up-your-website-FR-1024x283-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/eBook_-Speed-Up-your-website-FR-1024x283-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/eBook_-Speed-Up-your-website-FR-1024x283-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-creation-d-une-base-de-donnees-mysql-optionnel\"><strong>Cr&eacute;ation d&rsquo;une base de donn&eacute;es MySQL (optionnel)<\/strong><\/h2><p class=\"wp-block-paragraph\">Cette &eacute;tape est n&eacute;cessaire si vous ne disposez pas d&rsquo;une <strong>base de donn&eacute;es MySQL<\/strong>. Si vous &ecirc;tes un utilisateur de Hostinger, vous pouvez facilement en cr&eacute;er une nouvelle via le hPanel de Hostinger en quelques &eacute;tapes :<\/p><ol class=\"wp-block-list\">\n<li>Localisez le menu des <strong>bases de donn&eacute;es MySQL <\/strong>dans la section <strong>Bases de donn&eacute;es.<\/strong><\/li>\n\n\n\n<li>Remplissez les champs n&eacute;cessaires et cliquez sur <strong>Cr&eacute;er<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"319\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/01\/creer-nouvelle-base-de-donnees-mysql.png\/w=1024,h=1024,fit=scale-down\" alt=\"La section MySQL Databases dans le hPanel, vous montrant comment cr&eacute;er une nouvelle base de donn&eacute;es MySQL\" class=\"wp-image-19377\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/01\/creer-nouvelle-base-de-donnees-mysql.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/01\/creer-nouvelle-base-de-donnees-mysql.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/01\/creer-nouvelle-base-de-donnees-mysql.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2023\/01\/creer-nouvelle-base-de-donnees-mysql.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>Important ! <\/strong>Notez les r&eacute;f&eacute;rences de la base de donn&eacute;es MySQL que vous venez de cr&eacute;er pour l&rsquo;&eacute;tape suivante<strong>.<\/strong> Notez les informations d&rsquo;identification de la base de donn&eacute;es MySQL que vous venez de cr&eacute;er. N&rsquo;oubliez pas non plus le nom d&rsquo;utilisateur et le mot de passe de la base de donn&eacute;es !\n            <\/p><\/div><\/p><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostinger.com\/fr\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/public\" alt=\"\" class=\"wp-image-41467\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-deux-facons-pour-un-script-php-de-se-connecter-a-mysql\"><strong>Deux fa&ccedil;ons pour un script PHP de se connecter &agrave; MySQL<\/strong><\/h2><p class=\"wp-block-paragraph\">Il existe deux m&eacute;thodes pour se connecter &agrave; une base de donn&eacute;es MySQL en PHP : <strong>MySQLi <\/strong>et <strong>PDO<\/strong>.<\/p><p class=\"wp-block-paragraph\"><strong>MySQLi est l&rsquo;acronyme <\/strong>de <strong>MySQL Improved. <\/strong>Il s&rsquo;agit d&rsquo;une extension exclusive de MySQL qui ajoute de nouvelles fonctionnalit&eacute;s &agrave; l&rsquo;interface d&rsquo;une base de donn&eacute;es MySQL. MySQLi est &agrave; la fois proc&eacute;dural et orient&eacute; objet, le premier &eacute;tant l&rsquo;attribut h&eacute;rit&eacute; de l&rsquo;ancienne version de MySQL.<\/p><p class=\"wp-block-paragraph\">Le MySQL original d&eacute;compose une t&acirc;che en proc&eacute;dures lin&eacute;aires, &eacute;tape par &eacute;tape, ce qui le rend difficile &agrave; modifier car il faut &eacute;diter le code depuis le haut. En revanche, MySQLi consid&egrave;re les donn&eacute;es comme un ensemble d&rsquo;objets interchangeables dot&eacute;s de fonctions, ce qui permet aux utilisateurs d&rsquo;ajouter ou de supprimer facilement des donn&eacute;es.<\/p><p class=\"wp-block-paragraph\"><strong>PDO est l&rsquo;acronyme <\/strong>de <strong>PHP Data Object. <\/strong>Contrairement &agrave; MySQLi, PDO est uniquement orient&eacute; objet et prend en charge un certain nombre de types de bases de donn&eacute;es utilisant PHP, comme MySQL, MSSQL, Informix et PostgreSQL.<\/p><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>Important ! <\/strong>Les<strong> <\/strong>fonctions <strong>MySQL<\/strong> originales sont <strong>obsol&egrave;tes <\/strong>et ne doivent pas &ecirc;tre utilis&eacute;es car elles ne sont pas s&ucirc;res et ne sont plus maintenues ou d&eacute;velopp&eacute;es.\n            <\/p><\/div><\/p><p class=\"wp-block-paragraph\">L&rsquo;une des fonctionnalit&eacute;s les plus importantes qu&rsquo;ils supportent tous deux est celle des <strong>instructions pr&eacute;par&eacute;es<\/strong>, qui acc&eacute;l&egrave;re le temps n&eacute;cessaire &agrave; MySQL pour ex&eacute;cuter plusieurs fois la m&ecirc;me requ&ecirc;te. Elles sont &eacute;galement utilis&eacute;es pour pr&eacute;venir les attaques par injection SQL lorsque des modifications sont apport&eacute;es &agrave; la base de donn&eacute;es ou que des donn&eacute;es fournies par l&rsquo;utilisateur sont ins&eacute;r&eacute;es dans une requ&ecirc;te ou une instruction de la base de donn&eacute;es.<\/p><p class=\"wp-block-paragraph\">Quelle que soit la m&eacute;thode utilis&eacute;e, vous aurez besoin des informations correctes pour vous connecter &agrave; la base de donn&eacute;es MySQL que vous avez cr&eacute;&eacute;e. C&rsquo;est l&agrave; que les d&eacute;tails de la base de donn&eacute;es MySQL que vous avez pr&eacute;c&eacute;demment sauvegard&eacute;s s&rsquo;av&egrave;rent utiles.<\/p><p class=\"wp-block-paragraph\">Vous avez &eacute;galement besoin du nom de <strong>serveur <\/strong>ou du <strong>nom d&rsquo;h&ocirc;te <\/strong>correct pour la configuration. Hostinger utilise <strong>&ldquo;localhost&rdquo; <\/strong>comme nom d&rsquo;h&ocirc;te de son serveur MySQL. En g&eacute;n&eacute;ral, c&rsquo;est le nom que vous voudrez utiliser si vous t&eacute;l&eacute;chargez votre script PHP sur le m&ecirc;me serveur que la base de donn&eacute;es.<\/p><p class=\"wp-block-paragraph\">En revanche, si vous vous connectez &agrave; une base de donn&eacute;es &agrave; partir d&rsquo;un emplacement distant (par exemple, votre ordinateur), vous devrez utiliser l&rsquo;<strong>adresse IP <\/strong>du serveur MySQL. Pour plus de d&eacute;tails, contactez votre h&eacute;bergeur afin qu&rsquo;il vous fournisse les informations correctes sur le nom d&rsquo;h&ocirc;te &agrave; utiliser.<\/p><h2 class=\"wp-block-heading\" id=\"h-utilisation-de-mysqli-pour-connecter-un-script-php-a-mysql\"><strong>Utilisation de MySQLi pour connecter un script PHP &agrave; MySQL<\/strong><\/h2><p class=\"wp-block-paragraph\">Suivez ces &eacute;tapes pour utiliser MySQLi afin de connecter un script PHP &agrave; MySQL :<\/p><ol class=\"wp-block-list\">\n<li>Allez dans le <strong>gestionnaire de fichiers <\/strong>-&gt; <strong>public_html.<\/strong><\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1024\" height=\"209\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/selectionner-public-html.png\/public\" alt=\"L'emplacement du dossier public_html dans le gestionnaire de fichiers\" class=\"wp-image-30871\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/selectionner-public-html.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/selectionner-public-html.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/selectionner-public-html.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/selectionner-public-html.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">2. Cr&eacute;ez un <strong>nouveau fichier <\/strong>en cliquant sur l&rsquo;ic&ocirc;ne dans le menu lat&eacute;ral.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1024\" height=\"210\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/public_html-Fichiers-File-Browser-1.png\/public\" alt=\"cr&eacute;er un nouveau fichier dans public_html\" class=\"wp-image-30872\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/public_html-Fichiers-File-Browser-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/public_html-Fichiers-File-Browser-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/public_html-Fichiers-File-Browser-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/public_html-Fichiers-File-Browser-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">3. Enregistrez le fichier sous <strong>databaseconnect.php<\/strong>. Vous pouvez remplacer le nom par ce que vous voulez, assurez-vous simplement qu&rsquo;il utilise l&rsquo;extension php.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"503\" height=\"307\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/public_html-Fichiers-File-Browser-2.png\/public\" alt=\"La fen&ecirc;tre contextuelle Nouveau fichier \" class=\"wp-image-30873\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/public_html-Fichiers-File-Browser-2.png\/w=503,fit=scale-down 503w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/public_html-Fichiers-File-Browser-2.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2024\/03\/public_html-Fichiers-File-Browser-2.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 503px) 100vw, 503px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">4. Double-cliquez pour ouvrir le fichier et copiez-collez-y les lignes de code suivantes. Remplacez les quatre premi&egrave;res valeurs sous <strong>&lt;?php <\/strong>par les informations d&rsquo;identification que vous avez not&eacute;es plus t&ocirc;t :<\/p><pre class=\"wp-block-preformatted\">&lt;?php\r\n$servername = \"localhost\";\r\n$database = \"u123456789_DatabaseName\";\r\n$username = \"u123456789_User\";\r\n$password = \"MyStr0ngPa$!\";\r\n \r\n\/\/ Create connection\r\n \r\n$conn = mysqli_connect($servername, $username, $password, $database);\r\n \r\n\/\/ Check connection\r\n \r\nif (!$conn) {\r\n \r\n    die(\"Connection failed: \" . mysqli_connect_error());\r\n \r\n}\r\necho \"Connected successfully\";\r\nmysqli_close($conn);\r\n?&gt;<\/pre><h3 class=\"wp-block-heading\" id=\"h-le-code-mysqli-explique\"><strong>Le code MySQLi expliqu&eacute;<\/strong><\/h3><p class=\"wp-block-paragraph\">La principale m&eacute;thode utilis&eacute;e dans ce script est <strong>mysqli_connect()<\/strong>. Il s&rsquo;agit d&rsquo;une fonction interne de PHP qui permet d&rsquo;&eacute;tablir une nouvelle connexion avec un serveur MySQL.<\/p><p class=\"wp-block-paragraph\">Au d&eacute;but de notre code, nous voyons quelques d&eacute;clarations de variables et des valeurs assign&eacute;es &agrave; ces variables. En g&eacute;n&eacute;ral, nous avons besoin de quatre d&rsquo;entre elles pour &eacute;tablir une connexion correcte &agrave; la base de donn&eacute;es : <strong>$servername, $database, $username, <\/strong>et <strong>$password<\/strong>. Dans le code, nous d&eacute;finissons les d&eacute;tails de notre base de donn&eacute;es en tant que valeurs pour ces variables, afin qu&rsquo;elles puissent &ecirc;tre transmises &agrave; la fonction.<\/p><p class=\"wp-block-paragraph\">Si la connexion n&rsquo;aboutit pas, la fonction <strong>die() <\/strong>est ex&eacute;cut&eacute;e. Cela tue notre script et nous donne un message d&rsquo;erreur de connexion que nous avons d&eacute;fini. Par d&eacute;faut, le message d&rsquo;erreur de connexion de MySQL dira <strong>Connection failed <\/strong>suivi d&rsquo;un message d&rsquo;erreur exact d&eacute;crivant le probl&egrave;me.<\/p><p class=\"wp-block-paragraph\">En revanche, si la connexion MySQL est r&eacute;ussie, le code affichera <strong>Connected successfully <\/strong>(<strong>Connect&eacute; avec succ&egrave;s).<\/strong><\/p><p class=\"wp-block-paragraph\">La derni&egrave;re partie du code est <strong>mysqli_close<\/strong>, qui fermera simplement la connexion &agrave; la base de donn&eacute;es manuellement. Si elle n&rsquo;est pas sp&eacute;cifi&eacute;e, la connexion MySQL se fermera d&rsquo;elle-m&ecirc;me &agrave; la fin du script.<\/p><h2 class=\"wp-block-heading\" id=\"h-utilisation-de-pdo-pour-connecter-un-script-php-a-mysql\"><strong>Utilisation de PDO pour connecter un script PHP &agrave; MySQL<\/strong><\/h2><p class=\"wp-block-paragraph\">L&rsquo;autre m&eacute;thode pour se connecter &agrave; MySQL en utilisant PHP consiste &agrave; utiliser PDO. Cette m&eacute;thode est similaire &agrave; la pr&eacute;c&eacute;dente, mais avec une l&eacute;g&egrave;re variation :<\/p><ol class=\"wp-block-list\">\n<li>Dans le dossier <strong>public_html<\/strong>, cr&eacute;ez un fichier nomm&eacute; <strong>pdoconfig.php <\/strong>et ins&eacute;rez le code suivant. Comme toujours, n&rsquo;oubliez pas de remplacer les valeurs de remplacement par les informations de votre base de donn&eacute;es. <strong>Enregistrez et fermez <\/strong>le fichier une fois que vous avez termin&eacute; :<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">&lt;?php\r\n$host = \"localhost\";\r\n$dbname = \"u123456789_DatabaseName\";\r\n$username = \"u123456789_User\";\r\n$password = \"MyStr0ngPa$!\";<\/pre><p class=\"wp-block-paragraph\">2. Cr&eacute;ez un autre fichier nomm&eacute; <strong>databaseconnect.php <\/strong>dans le m&ecirc;me r&eacute;pertoire, mais avec le code suivant. Si vous avez nomm&eacute; le fichier pr&eacute;c&eacute;dent diff&eacute;remment, assurez-vous de changer la valeur de <strong>require_once<\/strong>.<\/p><pre class=\"wp-block-preformatted\">&lt;?php\r\nrequire_once 'pdoconfig.php';\r\n\r\ntry {\r\n$conn = new PDO(\"mysql:host=$host;dbname=$dbname\", $username, $password);\r\necho \"Connected to $dbname at $host successfully.\";\r\n} catch (PDOException $pe) {\r\ndie (\"Could not connect to the database $dbname :\" . $pe-&gt;getMessage());\r\n}<\/pre><h3 class=\"wp-block-heading\" id=\"h-explication-du-code-pdo\"><strong>Explication du code PDO<\/strong><\/h3><p class=\"wp-block-paragraph\">Une connexion PDO &agrave; une base de donn&eacute;es n&eacute;cessite la cr&eacute;ation d&rsquo;un nouvel objet PDO avec un <strong>nom de source de donn&eacute;es (DSN), un nom d&rsquo;utilisateur <\/strong>et un <strong>mot de passe<\/strong>.<\/p><p class=\"wp-block-paragraph\">Le DSN d&eacute;finit le type de base de donn&eacute;es, le nom de la base de donn&eacute;es et toute autre information relative &agrave; la base de donn&eacute;es si n&eacute;cessaire. Ce sont les variables et les valeurs que nous avons d&eacute;clar&eacute;es dans le fichier <strong>dbconfig.php<\/strong>, r&eacute;f&eacute;renc&eacute;es une fois par la ligne <strong>require_once <\/strong>dans le fichier <strong>databaseconnect.php.<\/strong><\/p><p class=\"wp-block-paragraph\">Dans cette derni&egrave;re, vous trouverez le code &ldquo;<strong>try&hellip;catch&hellip;&rdquo;. <\/strong>Cela signifie que le script <strong>essaiera de <\/strong>se connecter &agrave; MySQL en utilisant le code fourni, mais qu&rsquo;en cas de probl&egrave;me, le code de la section catch sera ex&eacute;cut&eacute;. Vous pouvez utiliser le <strong>bloc catch <\/strong>pour afficher des messages d&rsquo;erreur de connexion ou ex&eacute;cuter un autre code si le <strong>bloc try <\/strong>&eacute;choue.<\/p><p class=\"wp-block-paragraph\">Si la connexion est r&eacute;ussie, le message &ldquo;<strong>Connected to $dbname at $host successfully<\/strong>&rdquo; sera affich&eacute;. En revanche, si la tentative &eacute;choue, le code catch affichera un simple message d&rsquo;erreur et interrompra le script.<\/p><p class=\"wp-block-paragraph\">Contrairement &agrave; MySQLi, il n&rsquo;est pas n&eacute;cessaire de fermer manuellement la connexion lorsque vous avez termin&eacute; d&rsquo;utiliser un script PDO. Elle est automatiquement ferm&eacute;e lorsque l&rsquo;objet PDO est d&eacute;truit ou lorsque votre script se termine.<\/p><h2 class=\"wp-block-heading\" id=\"h-verification-de-la-connectivite-et-depannage-des-erreurs-courantes\"><strong>V&eacute;rification de la connectivit&eacute; et d&eacute;pannage des erreurs courantes<\/strong><\/h2><p class=\"wp-block-paragraph\">Pour v&eacute;rifier si la connexion est r&eacute;ussie, acc&eacute;dez &agrave; votre domaine comme suit : <strong>yourdomain\/databaseconnect.php<\/strong>. Si vous donnez un autre nom au fichier PHP, veillez &agrave; le modifier en cons&eacute;quence.<\/p><p class=\"wp-block-paragraph\">Vous verrez &ldquo;<strong>Connected successfully<\/strong>&rdquo; ou des variantes de ce message si tout fonctionne sans probl&egrave;me.<\/p><p class=\"wp-block-paragraph\">Si la connexion n&rsquo;a pas abouti, vous verrez quelque chose de diff&eacute;rent. Les messages d&rsquo;erreur sont l&eacute;g&egrave;rement diff&eacute;rents pour MySQLi et PDO.<\/p><h3 class=\"wp-block-heading\" id=\"h-erreur-de-mot-de-passe-incorrect\"><strong>Erreur de mot de passe incorrect<\/strong><\/h3><p class=\"wp-block-paragraph\">Cette erreur se produit si l&rsquo;on modifie le mot de passe ou tout autre identifiant dans le code PHP (mais pas dans la base de donn&eacute;es).<\/p><p class=\"wp-block-paragraph\">Si vous voyez un message &ldquo;<strong>Acc&egrave;s refus&eacute;<\/strong>&rdquo; ou &ldquo;Impossible <strong>de se connecter &agrave; la base de donn&eacute;es<\/strong>&rdquo; accompagn&eacute; de &ldquo;<strong>(en utilisant le mot de passe : YES)<\/strong>&rdquo; &agrave; la fin, la premi&egrave;re chose &agrave; faire est de v&eacute;rifier les d&eacute;tails de la base de donn&eacute;es. Il peut s&rsquo;agir d&rsquo;une erreur de frappe ou d&rsquo;une partie manquante.<\/p><h3 class=\"wp-block-heading\" id=\"h-impossible-de-se-connecter-au-serveur-mysql\"><strong>Impossible de se connecter au serveur MySQL<\/strong><\/h3><p class=\"wp-block-paragraph\">Si vous obtenez &ldquo;<strong>Can&rsquo;t connect to MySQL server on &lsquo;server&rsquo; (110)<\/strong>&rdquo; dans MySQLi, cela signifie que le script n&rsquo;a pas re&ccedil;u de r&eacute;ponse d&rsquo;un serveur. Cela se produit lorsque nous d&eacute;finissons &ldquo;<strong>server&rdquo; au <\/strong>lieu de &ldquo;<strong>localhost&rdquo; <\/strong>comme <strong>$servername, <\/strong>et que ce nom n&rsquo;est pas reconnu.<\/p><p class=\"wp-block-paragraph\">Le message d&rsquo;erreur dans PDO ressemblera &agrave; &ldquo;<strong>Connection failed : SQLSTATE[Hy000] [2002]&rdquo; <\/strong>suivi d&rsquo;autres d&eacute;tails indiquant que l&rsquo;h&ocirc;te My SQL n&rsquo;a pas &eacute;t&eacute; trouv&eacute;. Mais la fa&ccedil;on de r&eacute;soudre ce probl&egrave;me est la m&ecirc;me que celle d&eacute;crite ci-dessus.<\/p><p class=\"wp-block-paragraph\">Et bien s&ucirc;r, il est toujours important de se rappeler une r&egrave;gle d&rsquo;or pour d&eacute;panner une erreur : <strong>v&eacute;rifier le journal des erreurs de votre site<\/strong>.<\/p><p class=\"wp-block-paragraph\">Le journal se trouve dans le m&ecirc;me dossier que celui o&ugrave; le script s&rsquo;ex&eacute;cute. Par exemple, si nous ex&eacute;cutons un script dans <strong>public_html<\/strong>, nous trouverons le <strong>error_log <\/strong>dans le m&ecirc;me dossier.<\/p><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostinger.com\/fr\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/public\" alt=\"\" class=\"wp-image-41467\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-conclusion\"><strong>Conclusion<\/strong><\/h2><p class=\"wp-block-paragraph\">Dans ce tutoriel, nous avons appris les bases de la connexion d&rsquo;un script PHP &agrave; une base de donn&eacute;es MySQL en utilisant <strong>MySQLi <\/strong>et <strong>PHP Data Objects (PDO)<\/strong>.<\/p><p class=\"wp-block-paragraph\">Nous esp&eacute;rons que ce guide a &eacute;t&eacute; utile &agrave; ceux qui d&eacute;butent dans le d&eacute;veloppement web. Apr&egrave;s tout, la connexion &agrave; une base de donn&eacute;es est la premi&egrave;re &eacute;tape, la plus importante, lorsque l&rsquo;on travaille avec des scripts et des configurations plus avanc&eacute;s.<\/p><p class=\"wp-block-paragraph\">Faites-nous savoir dans les commentaires ci-dessous si vous rencontrez un probl&egrave;me en suivant ce guide.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pour les d&eacute;butants en d&eacute;veloppement de sites web, il est tr&egrave;s utile de savoir comment utiliser les scripts PHP pour se connecter &agrave; MySQL. Cela vous permet de modifier, d&rsquo;afficher ou de g&eacute;rer les tables de la base de donn&eacute;es MySQL. Dans cet article, nous allons vous pr&eacute;senter les m&eacute;thodes les plus simples pour y [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/fr\/tutoriels\/connecter-php-base-donnees-mysql\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":335,"featured_media":26989,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"%title%","rank_math_description":"Notre guide complet vous montrera comment connecter PHP \u00e0 une base de donn\u00e9es MySQL en utilisant deux m\u00e9thodes diff\u00e9rentes : MySQLi et PDO.","rank_math_focus_keyword":"connecter php \u00e0 une base de donn\u00e9es mysql","footnotes":""},"categories":[4809],"tags":[],"class_list":["post-26981","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-connect-php-to-mysql\/","default":1},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-conectar-php-com-mysql\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/connecter-php-base-donnees-mysql\/","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/conectar-php-mysql\/","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/koneksi-database-php\/","default":0},{"locale":"it-IT","link":"https:\/\/www.hostinger.com\/it\/tutorial\/collegare-php-a-mysql\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-connect-php-to-mysql\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-connect-php-to-mysql\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-connect-php-to-mysql\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-connect-php-to-mysql\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-connect-php-to-mysql\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-connect-php-to-mysql\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-connect-php-to-mysql\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/conectar-php-mysql\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/conectar-php-mysql\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/conectar-php-mysql\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-conectar-php-com-mysql\/","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/26981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/users\/335"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/comments?post=26981"}],"version-history":[{"count":4,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/26981\/revisions"}],"predecessor-version":[{"id":30874,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/26981\/revisions\/30874"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media\/26989"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media?parent=26981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/categories?post=26981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/tags?post=26981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}