MySQL & PHP

Résolu
ViciousJoker Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
ViciousJoker Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous, je fais appel à la communauté car depuis plusieurs un problème me tracasse. J'ai en effet regardé sur les divers topics mais n'ai pas réussi à résoudre mon problème.

Je suis entrain de réaliser un site de gestion d'une base de données. Ainsi l'ajout d'un client dois être possible. Je récupère mes données dans un formulaire puis j’essaye de faire un INSERT dans ma table client. J'ai l'impression que lorsque j'appuie sur le bouton de validation, les choses se passent comme il faut, mais en vérifiant sur phpMyAdmin, rien. Je vous laisse donc mon morceau de code en espérant que vous puissiez m'aider.

Merci d'avance ! :)
//le formulaire
<form method="post" action="ajout_client.php">
<p align="left"> </p>
<p align="left"><span>Nom : </span>
  <input name="nom" type="text"/>
  <span>Prenom : </span>
  <input name="prenom" type="text"/>
</p>
<blockquote>
  <blockquote>
    <blockquote>
      <blockquote>
        <p align="right"><span> Id type activite : </span>
            <input name="id_activity" type="text"/>
        </p>
      </blockquote>
    </blockquote>
  </blockquote>
</blockquote>
<p align="left"><span><span>Rue : </span>
      <input name="rue" type="text"/>
</span> </p>
<blockquote>
  <blockquote>
    <blockquote>
      <blockquote>
        <p align="right"><span>Id_usine : </span>
            <input name="id_usine" type="text"/>
        </p>
      </blockquote>
    </blockquote>
  </blockquote>
</blockquote>
<p align="left"><span>Ville : </span>
    <input name="ville" type="text"/>
    <span>Code postal : </span>
    <input name="cp" type="text"/>
</p>
<blockquote>
  <blockquote>
    <blockquote>
      <blockquote>
        <p align="right"><span>Id pays  :
          <input name="id_pays" type="text"/>
        </span></p>
      </blockquote>
    </blockquote>
  </blockquote>
</blockquote>
<p><span>Tel : </span>
    <input name="tel" type="text"/>
    <span>Email : </span>
    <input name="email" type"email"/>
</p>
<blockquote>
  <blockquote>
    <blockquote>
      <blockquote>
        <p align="right"><span>Id commercial : </span>
            <input name="id_com" type="text"/>
        </p>
      </blockquote>
    </blockquote>
  </blockquote>
</blockquote>
<p> </p>
<input name="create_client" type="submit" value="Créer le client" />
</form>

//la requète d'insertion
$req2 = $bdd->query("INSERT INTO client(id_type_activite, id_usine, id_pays, id_commercial, nom_client, prenom_client, adresse_ville_client, adresse_rue_client, adresse_code_postal_client, telephone_client, email_client) VALUES('".$activity."','".$usine."','".$pays."','".$comm."','".$nom."','".$prenom."','".$ville."','".$rue."','".$cp."','".$tel."','".$mail."'')");


Avant de faire la requête SQL je stock les valeurs $_POST dans des variable $activity par exemple.
A voir également:

4 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
Tu as examiné la valeur de $req2 après l'appel?
0
ViciousJoker Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
La requête est dans un try catch (si jamais ça peut aider).
J'ai essayé de faire un echo de $req2 mais sans succès.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > ViciousJoker Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
pet-être var_dump au lieu de echo?
0
ViciousJoker Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Le var_dump ne donne rien non plus. Cela me parait étrange quand même
0
Utilisateur anonyme
 
Bonjour

Je ne sais pas ce que fait ce try -catch que tu ne nous as pas montré, mais j'ai l'impression de voir une apostrophe en trop :
$mail."'')");
0
ViciousJoker Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
En effet il y en avait une en trop, mais ça n'a malheureusement rien changé
Voici le try catch en question:
try
{
//la requète d'insertion
$req2 = $bdd->query("INSERT INTO client(id_type_activite, id_usine, id_pays, id_commercial, nom_client, prenom_client, adresse_ville_client, adresse_rue_client, adresse_code_postal_client, telephone_client, email_client) VALUES('".$activity."','".$usine."','".$pays."','".$comm."','".$nom."','".$prenom."','".$ville."','".$rue."','".$cp."','".$tel."','".$mail."')");
}
catch(Exception $e)
{
	die('Erreur : '.$e->getMessage());
}
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
Au lieu de
$req2 = $bdd->query("INSERT INTO client(id_type_activite, id_usine, id_pays, id_commercial, nom_client, prenom_client, adresse_ville_client, adresse_rue_client, adresse_code_postal_client, telephone_client, email_client) VALUES('".$activity."','".$usine."','".$pays."','".$comm."','".$nom."','".$prenom."','".$ville."','".$rue."','".$cp."','".$tel."','".$mail."'')");
Tu pourrais faire :
$sqlreq = "INSERT INTO client(id_type_activite, id_usine, id_pays, id_commercial, nom_client, prenom_client, adresse_ville_client, adresse_rue_client, adresse_code_postal_client, telephone_client, email_client) VALUES('".$activity."','".$usine."','".$pays."','".$comm."','".$nom."','".$prenom."','".$ville."','".$rue."','".$cp."','".$tel."','".$mail."'')";
echo $sqlreq;
$req2 = $bdd->query($sqlreq);
Cela te permettrait de tester sur phpMyAdmin la requête exacte, telle que tu la prépares.
0
ViciousJoker Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Je vais essayer ça merci
0
Utilisateur anonyme
 
Si le try-catch n'avait pas signalé d'erreur, c'est probablement que la requête n'est pas du tout exécutée.
Je pense que le echo que yg_be te fait faire ne va rien afficher du tout.
0
Utilisateur anonyme
 
Autre petit détail au passage :
<input name="email" type"email"/>

Il manque un = entre type et email.
Ce qui n'a bien sûr aucun rapport avec ton erreur.
0
ViciousJoker Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
En effet cela ne donne rien, Il y aurait-il des raisons évidente pour que la requête ne s’exécute pas ?
0
Utilisateur anonyme > ViciousJoker Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Oui, un "if" précédent qui n'est pas satisfait.
Mais il faut voir tout le code qui précède.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
echo $sqlreq;
ne te donne rien?
Et
echo "sqllreq: $sqlreq";
non plus? On dirait donc que cette partie de ton code PHP n'est pas exécutée.
Tu pourrais tenter de comprendre pourquoi en ajoutant des echo pour suivre l'exécution du code.
0
Utilisateur anonyme > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Non, puisque cette partie du code n'est pas exécutée. Sinon, le try-catch aurait signalé l'erreur dans la requête.
0