Passage de mysqli en PDO
Résolu/Fermé
flexi2202
Messages postés
3782
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
13 mars 2024
-
Modifié le 25 mai 2021 à 12:43
flexi2202 Messages postés 3782 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 13 mars 2024 - 25 mai 2021 à 13:42
flexi2202 Messages postés 3782 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 13 mars 2024 - 25 mai 2021 à 13:42
A voir également:
- Pdo ou mysqli
- Formulaire insertion données mysql php pdo ✓ - Forum PHP
- Xampp pdo ✓ - Forum PHP
- Mysqli ou PDO ? - Forum MySQL
- Mysqli::real_connect(): (hy000/1045): accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: oui) - Forum PHP
- L'extension mysqli est absente. - Forum Webmastering
3 réponses
jordane45
Messages postés
38112
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 mars 2024
4 634
25 mai 2021 à 12:58
25 mai 2021 à 12:58
Ligne 25 et 26 inutiles... Puisque tu as récupéré proprement les variables au ligne 19 et 20...
Ligne 22, il faut utiliser les variables des lignes 19 et 20 et non pas à nouveau remettre les variables $_POST ... Sinon à quoi ça sert de les récupérer proprement avant de les utiliser... ????
Ligne 15 et 16 à supprimer !
La fonction addslashe ( également valable pour la fonction htmlsprcialchars ) ne doit pas utiliser pour traiter les variables avant leur utilisation en base de données...
Je précise également qu'on ne modifie pas ou ne remplit pas une variable $_POST comme tu l'as fait...
Ligne 22, il faut utiliser les variables des lignes 19 et 20 et non pas à nouveau remettre les variables $_POST ... Sinon à quoi ça sert de les récupérer proprement avant de les utiliser... ????
Ligne 15 et 16 à supprimer !
La fonction addslashe ( également valable pour la fonction htmlsprcialchars ) ne doit pas utiliser pour traiter les variables avant leur utilisation en base de données...
Je précise également qu'on ne modifie pas ou ne remplit pas une variable $_POST comme tu l'as fait...
flexi2202
Messages postés
3782
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
13 mars 2024
178
25 mai 2021 à 13:25
25 mai 2021 à 13:25
merci pour la correction et surtout le cote pédagogique jordane
enfin j avance
voila tout est ok
je poste le code pour ceux que cela intéresse et pour l apprentissage
enfin j avance
voila tout est ok
je poste le code pour ceux que cela intéresse et pour l apprentissage
<?php try{ $bdd = new PDO('mysql:host=localhost;dbname=id15003105_test', 'root', ''); // Activation des erreurs PDO $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } $contenu = ''; if ($_POST) { $_POST['pseudo'] = ($_POST['pseudo']); $_POST['message'] = ($_POST['message']); //je recupere les variable proprement avant utilisation //Si la variable $_POST['nom'] existe et n'est pas vide, j'en récupère la valeur, sinon je mets la variable $nom à NULL $pseudo = !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL; $message = !empty($_POST['message']) ? $_POST['message'] : NULL; if (!empty ($pseudo) && !empty ($message) ) { $today = date("Y-m-d "); $sql = "INSERT INTO commentaire (pseudo, message, date_enregistrement) VALUES (:valeur1,:valeur2 ,:valeur3)"; $datas = array(':valeur1'=>$pseudo, ':valeur2'=>$message , ':valeur3'=>$today ); //Execution de la requete try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } $contenu .= ' <div class="validation">Votre message/question a bien été enregistré </br>il est en attende de validation . </div>'; } else { $contenu .= ' <div class="erreur">Afin de déposer un commentaire, veuillez svp remplir tous les champs du formulaire.</div>'; } } //$resultat = $mysqli->query( //"SELECT pseudo,valider, message, date_enregistrement ,DATE_FORMAT(date_enregistrement, '%d/%m/%Y') AS datefr, //DATE_FORMAT(date_enregistrement, '%H:%i:%s') AS heurefr FROM commentaire WHERE valider = 0 ORDER BY date_enregistrement //DESC"); $sql = "SELECT pseudo,valider, message, date_enregistrement ,DATE_FORMAT(date_enregistrement, '%d/%m/%Y') AS datefr, DATE_FORMAT(date_enregistrement, '%H:%i:%s') AS heurefr FROM commentaire WHERE valider = 0 ORDER BY date_enregistrement DESC"; $datas = NULL; // ------------------------------ // // CETTE PARTIE DU CODE NE CHANGE PAS // try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } // ------------------------------ // ?>
jordane45
Messages postés
38112
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 mars 2024
4 634
25 mai 2021 à 13:35
25 mai 2021 à 13:35
Ligne 15 et 16 à supprimer
flexi2202
Messages postés
3782
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
13 mars 2024
178
25 mai 2021 à 13:42
25 mai 2021 à 13:42
oui en effet je les avais oublie
encore merci jordane pour toute cette aide et patience
encore merci jordane pour toute cette aide et patience