Requête de modification

Résolu
barale61 Messages postés 1214 Date d'inscription   Statut Membre Dernière intervention   -  
barale61 Messages postés 1214 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite modifier des données dans une table mais cela ne fonctionne pas si je met une variable à la place d'une id:

(alors que si je mets WHERE id = \'1\' par exemple ça fonctionne)



$nom = ( isset($_POST['nom']) )? $_POST['nom'] : ''; 
$url = ( isset($_POST['url']) )? $_POST['url'] : ''; 
$dateCreation = ( isset($_POST['dateCreation']) )? $_POST['dateCreation'] : ''; 
$idTypeCms = ( isset($_POST['idTypeCms']) )? $_POST['idTypeCms'] : ''; 
$dateMiseEnLigne = ( isset($_POST['dateMiseEnLigne']) )? $_POST['dateMiseEnLigne'] : ''; 
$dateDerniereModif = ( isset($_POST['dateDerniereModif']) )? $_POST['dateDerniereModif'] : '';
$nomCms = ( isset($_POST['idTypeCms']) )? $_POST['idTypeCms'] : '';
$id = ( isset($_POST['id']) )? $_POST['id'] : '';

if (isset($_POST['envoyer'])) {
$req = $bdd->prepare('UPDATE sites SET nom = :nom,  url = :url, dateCreation = :dateCreation, idTypeCms = :idTypeCms, dateMiseEnLigne = :dateMiseEnLigne, dateDerniereModif = :dateDerniereModif WHERE id = '.$id.''); 
$req->execute(array(
 'nom' => $nom,
 'url' => $url,
 'dateCreation' => datefrus($dateCreation),
 'idTypeCms' => $idTypeCms,
 'dateMiseEnLigne' => datefrus($dateMiseEnLigne),
 'dateDerniereModif' => datefrus($dateDerniereModif)
 )); 


A voir également:

3 réponses

ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'lut, ajoutes-donc un paramètre à ta requête préparée, plutôt que de mettre une variable qui ouvre la voie aux injections SQL et a l'enfer des types de variable...
$req = $bdd->prepare('UPDATE sites SET nom = :nom,  url = :url, dateCreation = :dateCreation, idTypeCms = :idTypeCms, dateMiseEnLigne = :dateMiseEnLigne, dateDerniereModif = :dateDerniereModif WHERE id = :id'); 
$req->execute(array(
	'id' => $id,
	'nom' => $nom,
	'url' => $url,
	'dateCreation' => datefrus($dateCreation),
	'idTypeCms' => $idTypeCms,
	'dateMiseEnLigne' => datefrus($dateMiseEnLigne),
	'dateDerniereModif' => datefrus($dateDerniereModif)
	));
1
barale61 Messages postés 1214 Date d'inscription   Statut Membre Dernière intervention   110
 
Oui mais ça fonctionne toujours pas avec la lême erreur:

Notice: Undefined variable: id in C:\wamp\www\tba\modification.php on line 18 (qui est la ligne 3 ici)

$req = $bdd->prepare('UPDATE sites SET nom = :nom,  url = :url, dateCreation = :dateCreation, idTypeCms = :idTypeCms, dateMiseEnLigne = :dateMiseEnLigne, dateDerniereModif = :dateDerniereModif WHERE id = :id'); 
$req->execute(array(
    'id' => $id,
	'nom' => $nom,
	'url' => $url,
	'dateCreation' => datefrus($dateCreation),
	'idTypeCms' => $idTypeCms,
	'dateMiseEnLigne' => datefrus($dateMiseEnLigne),
	'dateDerniereModif' => datefrus($dateDerniereModif)
	)); 
0
barale61 Messages postés 1214 Date d'inscription   Statut Membre Dernière intervention   110
 
Je ne l'avais tout simplement pas déclarée.
0