Conditions dans une insertions SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Conditions dans une insertions SQL

Re: Conditions dans une insertions SQL

par Patriboom » 09 nov. 2016, 18:42

Salut,

j'ai pris option, à la suite de plusieurs suggestions, de traiter les résultats réussis d'abord puis les manqués.
En PHP, ça se dit:
if ($blabla) { } else {}
plutôt que
if (!blabla) { } else {}
Dans ton cas, ça simplifierait le code:
if (execute(array('name' => $name,'adress' => $adress,'gpslat' => $gpslat,'gpslng' => $gpslng,'type' => $type,'commune' => commune,'')))
{
echo "<font color='#0a0b6c'><h5>";
echo "Le point d'interet : $type</br></br>";
echo "Voici les information saisie :</br></br>";	
echo "Nom : $name</br>";
echo "Adresse : $adress</br> sur la commune de: $commune</br></br>";
echo "Latitude : $gpslat </br>longitude: $gpslng</br></br>";
echo "A bien été rajouté sur la FIREMAPS</br></br>";
echo "<font color='red'><h6>Statut BDD: mise a jour rèussi.</br></br></h6></font>";

}
else
{
echo "Statut BDD: Erreur d'insertion dans la Base de Données, Veuillez réessayer, si le problème persiste veuillez contacter l'Administrateur du site.";
echo '<a href="creationpoi1.html"> <input class="waves-effect waves-light btn" style="width:100%;background-color:#0a0b6e" type="submit" value="Nouvelle creation" /></a>';

}

D'ailleurs, je remarque que ton execute se termine par une virgule. Est-ce normal?
Es-tu sût que ton « execute » ne produit aucune erreur?
Vois:
execute(array(
'name' => $name,
'adress' => $adress,
'gpslat' => $gpslat,
'gpslng' => $gpslng,
'type' => $type,
'commune' => $commune,   //Ici, $commune est suivi d'une virgule, puis de rien avant la fermeture des parenthèses.
));

Re: Conditions dans une insertions SQL

par ynx » 09 nov. 2016, 13:32

Salut,

La méthode execute de PDO retourne le booléen TRUE si la requête s'est exécutée sans erreur, FALSE sinon.
Il faut donc utiliser ce retour pour ta condition.

http://php.net/manual/fr/pdostatement.execute.php

Bonne journée,

Conditions dans une insertions SQL

par wil974 » 09 nov. 2016, 11:32

Bonjour,

je me retourne une nouvelle fois vers vous pour le probleme suivant:

voici mon code :
$req = $bdd->prepare('INSERT INTO prevision(id, name, address, lat, lng, type, commune, date, url_lieu, img, categorie, famille) VALUES("", :name, :adress, :gpslat, :gpslng, :type, :commune, CURDATE(), "nc.pdf", "nc.jpg", "4", "SANS OBJET")');
$req->execute(array(
'name' => $name,
'adress' => $adress,
'gpslat' => $gpslat,
'gpslng' => $gpslng,
'type' => $type,
'commune' => $commune,
));

if (!$req)
{
echo "Statut BDD: Erreur d'insertion dans la Base de Données, Veuillez réessayer, si le problème persiste veuillez contacter l'Administrateur du site.";
echo '<a href="creationpoi1.html"> <input class="waves-effect waves-light btn" style="width:100%;background-color:#0a0b6e" type="submit" value="Nouvelle creation" /></a>';

}
else
{
echo "<font color='#0a0b6c'><h5>";
echo "Le point d'interet : $type</br></br>";
echo "Voici les information saisie :</br></br>";	
echo "Nom : $name</br>";
echo "Adresse : $adress</br> sur la commune de: $commune</br></br>";
echo "Latitude : $gpslat </br>longitude: $gpslng</br></br>";
echo "A bien été rajouté sur la FIREMAPS</br></br>";
echo "<font color='red'><h6>Statut BDD: mise a jour rèussi.</br></br></h6></font>";

}

?>
le probleme est le suivant :

je voudrais que si l'insertion dans la bdd est bonne cela affiche tout ce qui est apres le else , sinon si l'insertion ne ce fait pas
on affiche apres le if($req)

voila , je vous remercie par avance de vos solutions