Execution de script
delaville81
Messages postés
209
Statut
Membre
-
jordane45 Messages postés 30651 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30651 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je m'arrache les cheveux, je ne comprends pas mon erreur.
La requête UDPATE fonctionne mais l'INSERT non.
Les variables sont bien postées.
Merci d'avance pour voter aide
--
Bien PHPment et MySQLment
Delaville
Je m'arrache les cheveux, je ne comprends pas mon erreur.
La requête UDPATE fonctionne mais l'INSERT non.
Les variables sont bien postées.
$sql = 'SELECT filiation FROM membre WHERE id_membre = '.$_POST['id_memb'].'';
$pdo->exec('SET NAMES utf8');
$resultat = $pdo->query($sql);
$var = $resultat->fetch();
if($var['filiation'] == 0){
$sql_up = 'UPDATE membre SET filiation = :filiation WHERE id_membre = :id_membre';
$id_membre = $_POST['id_memb'];
$filiation = 1;
$data = array(':id_membre'=>$id_membre,':filiation'=>$filiation);
try{
$requete = $pdo->prepare($sql_up);
$requete->execute($data);
}
catch(Exception $e){
echo " Erreur ! ".$e->getMessage();
echo " Les datas : " ;
print_r($data);
}
if($_POST['pere'] == 0){$pere = '';}else{$pere = $_POST['pere'];}
if($_POST['mere'] == 0){$mere = '';}else{$mere = $_POST['mere'];}
if($_POST['situation'] == 0){$situation = '';}else{$situation = $_POST['situation'];}
if($_POST['conjoint'] == 0){$conjoint = '';}else{$conjoint = $_POST['conjoint'];}
if($_POST['annee_union'] == '' OR $_POST['mois_union'] == '' OR $_POST['jour_union'] == ''){
$date_union = '';
}else{
$date_union = $_POST['annee_union'].'-'.$_POST['mois_union'].'-'.$_POST['jour_union'];
}
if($_POST['lieu_union'] == ''){$lieu_union = '';}else{$lieu_union = $_POST['lieu_union'];}
$lieu_union = $_POST['lieu_union'];
if($_POST['situation2'] == 0){$situation2 = '';}else{$situation2 = $_POST['situation2'];}
if($_POST['conjoint2'] == 0){$conjoint2 = '';}else{$conjoint2 = $_POST['conjoint2'];}
if($_POST['annee_union2'] == '' OR $_POST['mois_union2'] == '' OR $_POST['jour_union2'] == ''){
$date_union2 = '';
}else{
$date_union2 = $_POST['annee_union2'].'-'.$_POST['mois_union2'].'-'.$_POST['jour_union2'];
}
if($_POST['lieu_union2'] == ''){$lieu_union2 = '';}else{$lieu_union2 = $_POST['lieu_union2'];}
$date_crea = date('Y-m-d');
$user_crea = $_SESSION['id'];
$sql_fil = 'INSERT INTO filiation (id_membre, pere, mere, situation, conjoint, date_union, lieu_union, situation2, conjoint2, date_union2, lieu_union2, user, date)
values (:id_membre, :pere, :mere, :situation, :conjoint, :date_union, :lieu_union, :situation2, :conjoint2, :date_union2, :lieu_union2, :user, :date)';
$datas = array(':id_membre'=>$id_membre, ':pere'=>$pere, ':mere'=>$mere, ':situation'=>$situation, ':conjoint'=>$conjoint, ':date_union'=>$date_union, ':lieu_union'=>$lieu_union,
':situation2'=>$situation2, ':conjoint2'=>$conjoint2, ':date_union2'=>$date_union2, ':lieu_union2'=>$lieu_union2,
':user'=>$user_crea, ':date'=>$date_crea);
try{
$requetes = $pdo->prepare($sql_fil);
$requetes->execute($datas);
}
catch(Exception $e){
echo " Erreur ! ".$e->getMessage();
echo " Les datas : " ;
print_r($datas);
}
}
Merci d'avance pour voter aide
Configuration: Macintosh / Chrome 93.0.4577.63
--
Bien PHPment et MySQLment
Delaville
A voir également:
- Execution de script
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script vidéo youtube - Guide
- Échec de l'exécution du diagnostic de windows update - Guide
- Admin script - Télécharger - Édition & Programmation
2 réponses
Bonjour,
ça ne marche pas.. c'est à dire ?
Tu as un message d'erreur ?
Tu as fais un print_r de ta variable $datas pour voir si elle contient les bonnes données ?
Tu as testé ta requête en direct dans ta bdd (via l'onglet sql de phpmyadmin) pour voir si elle fonctionne ?
PS: au lieu de faire de IF/ELSE pour tes variables, je pense qu'il serait plus propre d'utiliser l'écriture ternaire
par exemple, au lieu de
ecrire :
PS² : Toute ton code se trouve dans le if
c'est normal ?
ça ne marche pas.. c'est à dire ?
Tu as un message d'erreur ?
Tu as fais un print_r de ta variable $datas pour voir si elle contient les bonnes données ?
Tu as testé ta requête en direct dans ta bdd (via l'onglet sql de phpmyadmin) pour voir si elle fonctionne ?
PS: au lieu de faire de IF/ELSE pour tes variables, je pense qu'il serait plus propre d'utiliser l'écriture ternaire
par exemple, au lieu de
if($_POST['pere'] == 0){$pere = '';}else{$pere = $_POST['pere'];}
ecrire :
$pere = !empty($_POST['pere']) ? $_POST['pere'] : "";
PS² : Toute ton code se trouve dans le if
if($var['filiation'] == 0){
c'est normal ?