PHP #1 : Connexion base de données + requêtes SQL

Inscription
6 Novembre 2014
Messages
79
Réactions
16
Points
3 706
RGCoins
25
Sans plus tarder, voici mon premier tutoriel, sur "Comment ce connecter à une base de données et effectuer une requête ?"

Vous devrez disposer de :
- Wamp
- une page .php

1. Accédez à votre et créez une base de données, dans cette base de données, créez-y une table nommée "data" avec 2 champs, "id" et "data".
-
-
-
-

2. Nickel, votre base de données est prête, maintenant, passons au PHP, créez un nouveau fichier nommé "mysql.php" (faîtes bien attention à l'extension), puis insérez dedans le code ci-dessous qui vous permettra de lier la base de données à votre mysql.php.
PHP:
<?php
    $_host = 'localhost'; //Hôte de la base de données
    $_user = 'root'; //Utilisateur
    $_pass = ''; //Mot de passe pour ce connecter
    $_database = 'data'; //Nom de la base de données

    try {
        $db = new PDO('mysql:charset=utf8;host='. $_host .';dbname='.$_database, $_user, $_pass);
    } catch(Exception $e) {
        echo $e->getMessage;
    }
?>
-
-

Nickel encore une fois ! La connexion à la base de donnée peut-être éffécutée, et nous pourrons faire des requêtes vers elle, pour ça, nous allons encore créer un fichier, inclure notre configuration (mysql.php), puis effectuer notre première requête !

3. Créez un fichier nommé "requete.php" dans le même dossier que le précédent fichier, ouvrez le puis copiez le code ci-dessous, votre première requête fonctionnera, j'ai pris le temps de commenter le code, lisez-le ! :)
PHP:
<?php
    require 'mysql.php'; //On inclut notre fichier mysql pour avoir accès à la bdd

    $rqt = $db->prepare('INSERT INTO data (data) VALUES (:data)'); //On prépare notre requête pour éviter une modification malveillante
    $rqt->bindValue('data', 'Texte à insérer'); //Pour faire court, ça remplace :data par "Texte à insérer" dans la ligne précédente
    $rqt->execute(); //On éxécute la requête
    if($rqt){ //On regarde si la requête a été éfféctuée
        //La requête a été éfféctuée
        echo 'Requête éfféctuée [S©puraizu]';
    } else {
        //La requête n'as pas été éfféctuée !
        echo 'Problème, la requête n\'as pas été éfféctuée. [S©puraizu]';
    }
?>
-
- (Ne vous en faîtes pas pour les accents, l'encodage est absent.)
- (Notre texte est en base de données ! Bravo !)

Pour insérer du texte dans votre base de données, vous n'aurez plus qu'à utiliser le lien et à modifier le lien !!
Un exemple du résultat :
Ceci entrera dans votre base de données le texte "Sapuraizu", voici comment faire maintenant.

Nous allons d'abord modifier notre code de requete.php afin qu'il reconnaisse notre texte=, nous devront vérifier que texte= éxiste, qu'il n'est pas vide, si c'est le cas, nous "sécuriserons" le texte, puis l'inséreront en base !

PHP:
<?php
    require 'mysql.php'; //On inclut notre fichier mysql pour avoir accès à la bdd

    if(isset($_GET['texte']) && !empty($_GET['texte'])){ //On vérifie l'éxistance & le contenue de texte=
        $texte = htmlspecialchars(addslashes(strip_tags($_GET['texte']))); //On met le contenu dans notre variable $texte

        $rqt = $db->prepare('INSERT INTO data (data) VALUES (:data)'); //On prépare notre requête pour éviter une modification malveillante
        $rqt->bindValue('data', $texte); //Pour faire court, ça remplace :data par ce que contient la variable $texte dans la ligne précédente
        $rqt->execute(); //On éxécute la requête
        if($rqt){ //On regarde si la requête a été éfféctuée
            //La requête a été éfféctuée
            echo 'Requête éfféctuée [S©puraizu]';
        } else {
            //La requête n'as pas été éfféctuée !
            echo 'Problème, la requête n\'as pas été éfféctuée. [S©puraizu]';
        }
    } else {
        echo 'Il n\'y a pas de texte !'; //il manque ?texte= dans votre lien !
    }
?>
-
-
-

Si vous avez des demandes de tuto, des demandes d'informations ou encore une demande pour que je complète l'un de mes tutos, n'hésitez pas à me demander!
Sapuraizu.
 
Dernière édition:
Salut, bon tutoriel mais insère les images complètement.
 
Retour
Haut