php_bdd

Cards (36)

  • Apprendre à développer un site web avec PHP
  • Hela Marouane
  • ESME Sudria, Ivry Sur Seine
  • Année :2022-2023
  • Cours Programmation web
  • MySQL et PHP
    Accès aux bases de données (BD) avec PHP
  • Moyens pour se connecter à une BD
    • L'extension mysql_
    • L'extension mysqli_
    • L'extension PDO (PHP Data Object)
  • Connexion
    1. La fonction mysqli_connect() prend en paramètres : l'hôte, l'utilisateur, le mot de passe, le nom de la BD, le port
    2. Cette fonction retourne false en cas d'erreur ou un objet mysqli contenant l'identifiant de connexion en cas de succès
  • Déconnexion
    1. La fonction mysqli_close() permet de se déconnecter de MySQL
    2. Il n'est pas obligatoire de fermer la connexion car PHP le fait automatiquement à la fin du script, mais il est recommandé de le faire
  • Requêtes non préparées : lire les données
    1. La fonction mysqli_query() permet d'exécuter une requête SQL
    2. La fonction mysqli_num_rows() retourne le nombre de lignes dans le résultat de la requête
    3. La fonction mysqli_fetch_row() retourne un tableau indexé
    4. La fonction mysqli_fetch_assoc() retourne un tableau associatif
  • Afficher le nom et le prénom de la table personne
    • Tableau associatif
    • Tableau indexé
  • Requêtes non préparées : Ecrire des données
    1. La fonction mysqli_query() permet d'exécuter une requête SQL
    2. La fonction mysqli_insert_id() retourne le dernier identifiant auto-incrémental ajouté dans la base
  • Requêtes non préparées : Supprimer des données
    1. La fonction mysqli_query() permet d'exécuter une requête SQL
    2. La fonction mysqli_affected_rows() permet de connaitre le nombre de lignes supprimées
  • Requêtes non préparées : Mettre à jour des données
    1. La fonction mysqli_query() permet d'exécuter une requête SQL
    2. La fonction mysqli_affected_rows() permet de connaitre le nombre de lignes modifiées
  • Requêtes préparées
    Objectif : éviter d'écrire une même requête plusieurs fois avec des valeurs différentes, plus sécurisées et parfois plus rapides
  • Requêtes préparées
    1. La fonction mysqli_prepare() permet de préparer la requête
    2. La fonction mysqli_stmt_bind_param() permet de lier les variables à une requête SQL
    3. La fonction mysqli_stmt_execute() permet d'exécuter la requête
  • ysqli_prepare()
    Retourne un objet mysqli_stmt utilisé par les fonctions mysqli_stmt_bind_param() et mysqli_stmt_bind_result()
  • mysqli_stmt_bind_param()
    1. Permet de lier les variables à une requête SQL
    2. Prend en paramètres : l'objet requête, les types des données, les variables liées aux paramètres de la requête SQL
  • mysqli_stmt_bind_param() retourne false en cas d'erreur et true sinon
  • mysqli_stmt_execute()
    1. Permet d'exécuter la requête
    2. Prend en paramètres l'objet retourné par la fonction mysqli_prepare()
    3. Retourne false en cas d'erreur et true sinon
  • mysqli_stmt_bind_result()
    1. Permet de stocker les valeurs retournées par la requête SQL
    2. Prend en paramètre l'objet retourné par la fonction mysqli_prepare() et les variables correspondant à chaque colonne
    3. Retourne true en cas de succès et false sinon
  • mysqli_stmt_fetch()
    1. Permet de lire les valeurs dans une boucle
    2. Prend en paramètre l'objet requête retourné par la fonction mysqli_prepare()
    3. Retourne false en cas d'erreur et true sinon
  • mysqli_stmt_close()
    1. Permet de fermer une requête préparée
    2. Prend en paramètre l'objet requête retourné par la fonction mysqli_prepare()
    3. Retourne false en cas d'erreur et true sinon
  • Créer une base de données gestionpersonne dans laquelle on ajoute la table personne (id_personne, nom, prenom, age)
  • Afficher le nom et le prénom des personnes âgées de plus de 28 ans

    1. Connexion à la base de données
    2. Préparation de la requête
    3. Liaison des paramètres
    4. Exécution de la requête
    5. Association des variables de résultats
    6. Lecture des valeurs
    7. Fermeture de la requête
    8. Déconnexion de la base de données
  • Insérer une personne nommée Monique Roviler âgée de 60 ans

    1. Connexion à la base de données
    2. Préparation de la requête
    3. Liaison des paramètres
    4. Exécution de la requête
    5. Fermeture de la requête
    6. Déconnexion de la base de données
  • Modifier une personne nommée Duvallet en changeant son nom par Rollet et son âge par 32

    1. Connexion à la base de données
    2. Préparation de la requête
    3. Liaison des paramètres
    4. Exécution de la requête
    5. Fermeture de la requête
    6. Déconnexion de la base de données
  • Supprimer une personne dont son nom est Pujos
    1. Connexion à la base de données
    2. Préparation de la requête
    3. Liaison des paramètres
    4. Exécution de la requête
    5. Fermeture de la requête
    6. Déconnexion de la base de données
  • mysqli_stmt_store_result()
    Permet de stocker le résultat d'une requête
  • mysqli_stmt_num_rows()
    Permet de retourner le nombre de lignes d'une requête préparée
  • mysqli_stmt_free_result()
    Permet de libérer le résultat obtenu par mysqli_stmt_store_result()
  • mysqli_stmt_errno()
    Permet de retourner le numéro d'erreur
  • mysqli_stmt_error()
    Permet de retourner le message d'erreur
  • mysqli_real_escape_string()

    Permet d'échapper les caractères spéciaux
  • addslashes()
    Permet d'ajouter le caractère antislash devant les apostrophes, les guillemets, les antislash et NULL
  • Afficher le nombre de personnes qui ont un âge supérieur à 28
    1. Connexion à la base de données
    2. Préparation de la requête
    3. Liaison des paramètres
    4. Exécution de la requête
    5. Association des variables de résultats
    6. Stockage des valeurs
    7. Affichage du nombre de personnes
    8. Libération du résultat
    9. Fermeture de la requête
    10. Déconnexion de la base de données