Function enreg_invitation en pdo

Résolu/Fermé
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 12 juin 2015 à 18:25
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 12 juin 2015 à 21:27
Bonjour,

Comment convertir ce code mysql en pdo svp ?

<?php
 
//la fonction qui va enregistrer l'invitation dans la bdd
 
function enreg_invitation()
 
{
$query = mysql_query("
INSERT INTO amis(id_invitation,pseudo_exp,pseudo_dest,date_invitation,date_confirmation,active)
VALUES
 
('','{$_SESSION['pseudo']}','{$_GET['pseudo']}',NOW(),'',0)
 
");
 
 
}
 
?>


Merci d'avance :)

3 réponses

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
Modifié par gravgun le 12/06/2015 à 19:36
'lut, décidément, tu va toutes nous les demander?
Lis-donc la doc, c'est trivial...
Allez, je te la donne quand même:
function enreg_invitation() {
	global $bdd;
	$query = $bdd->prepare("INSERT INTO amis(id_invitation,pseudo_exp,pseudo_dest,date_invitation,date_confirmation,active) " .
		"VALUES ('',:sessPseudo,:getPseudo,NOW(),'',0)");
	$req = $query->execute(array(
		":sessPseudo" => $_SESSION['pseudo'],
		":getPseudo" => $_GET['pseudo']
	));
}

Et corriges-moi ce manque cruel d'indentation et ces espacements superflus, c'est illisible. Par ailleurs, prendre les infos directement depuis $_GET ou $_POST est une mauvaise pratique. (quoique pas mortelle vu qu'on utilise les requêtes préparées, ton code précédent était sujet aux injections SQL)
from human import idiocy
del idiocy
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié par jordane45 le 12/06/2015 à 19:35
Bonjour,

je suis du même avis que gravgun au sujet de :
"décidément, tu va toutes nous les demander? " ...... je pense que depuis le temps qu'on t'aide.. tu devrais être en mesure de les modifier par toi même non ???
Il te suffit de reprendre les fonctions que nous t'avons précédemment aider à faire et à t'en inspirer... !!!

Par contre gravgun a oublié le global $bdd ... sinon ça ne marchera pas.

Penses aussi à séparer la requête et les params de leur execution (cela permet d'en faire des ECHO si besoin.)

Dans ta requête .. plutot que de mettre l' ID vide .. ne le met pas du tout ! les champs AUTO-INCREMENTES n'ont pas besoin d'être mis dans les requête INSERT.. c'est ta BDD qui s'en occupe tout seul (et ça évite des erreurs....)

et enfin ...AVANT d'utiliser des variables de SESSION ... GET ou POST ... vérifie avec ISSET qu'elles EXISTENT !


function enreg_invitation() {
 global $bdd;
 $pseudoSession = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
 $pseudoGet = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;

 if($pseudoSession  && $pseudoGet ){
    $sql = "INSERT INTO amis
             (pseudo_exp,pseudo_dest,date_invitation,date_confirmation,active)
      VALUES (:sessPseudo,:getPseudo,NOW(),'',0)";


   $params = array(
     ":sessPseudo" => $pseudoSession,
     ":getPseudo" => $pseudoGet
    );
   $query = $bdd->prepare($sql);
   $req = $query->execute($params);
 }else{
  echo " Erreur : Une des variables n'existe pas...";
 }
}



Cordialement,
Jordane
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
12 juin 2015 à 19:39
Par contre gravgun a oublié le global $bdd
Je vois pas de quoi tu causes :D
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021
12 juin 2015 à 19:40
pff ....Modifié par gravgun le 12/06/2015 à 19:36 .... petit joueur :-p
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
12 juin 2015 à 19:41
Espèce de NSA va!
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
12 juin 2015 à 19:44
Espèce de NSA va!




0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
Modifié par gravgun le 12/06/2015 à 21:27
Où est le fond rouge, la moustache et le regard perçant comme dit dans le livre? (attention je l'ai lu (en anglais)... et pas fini... il y a 4 mois)
0