MySQL & PHP

Résolu/Fermé
ViciousJoker Messages postés 11 Date d'inscription dimanche 11 décembre 2016 Statut Membre Dernière intervention 11 décembre 2016 - Modifié par ViciousJoker le 11/12/2016 à 10:37
ViciousJoker Messages postés 11 Date d'inscription dimanche 11 décembre 2016 Statut Membre Dernière intervention 11 décembre 2016 - 11 déc. 2016 à 11:56
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.

4 réponses

yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
11 déc. 2016 à 10:15
Tu as examiné la valeur de $req2 après l'appel?
0
ViciousJoker Messages postés 11 Date d'inscription dimanche 11 décembre 2016 Statut Membre Dernière intervention 11 décembre 2016
11 déc. 2016 à 10:31
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 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556 > ViciousJoker Messages postés 11 Date d'inscription dimanche 11 décembre 2016 Statut Membre Dernière intervention 11 décembre 2016
11 déc. 2016 à 11:01
pet-être var_dump au lieu de echo?
0
ViciousJoker Messages postés 11 Date d'inscription dimanche 11 décembre 2016 Statut Membre Dernière intervention 11 décembre 2016 > yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024
11 déc. 2016 à 11:07
Le var_dump ne donne rien non plus. Cela me parait étrange quand même
0
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 dimanche 11 décembre 2016 Statut Membre Dernière intervention 11 décembre 2016
11 déc. 2016 à 11:14
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 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
Modifié par yg_be le 11/12/2016 à 11:11
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 dimanche 11 décembre 2016 Statut Membre Dernière intervention 11 décembre 2016
11 déc. 2016 à 11:16
Je vais essayer ça merci
0
Utilisateur anonyme
11 déc. 2016 à 11:18
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
11 déc. 2016 à 11:21
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 dimanche 11 décembre 2016 Statut Membre Dernière intervention 11 décembre 2016
11 déc. 2016 à 11:26
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 dimanche 11 décembre 2016 Statut Membre Dernière intervention 11 décembre 2016
11 déc. 2016 à 11:28
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 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556
Modifié par yg_be le 11/12/2016 à 11:37
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 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024
11 déc. 2016 à 11:31
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