Ajout dans une base de données

Petit nouveau ! | 5 Messages

01 avr. 2014, 11:09

Bonjour tout le monde j'aurais besoin de votre aide pour régler un petit problème , je suis actuellement entrain de realiser un formulaire pour ajouter un article dans ma base de données , lorsque je clique sur le bouton envoyer aucune erreur apparait mais aucun articles n'est ajouté
Je debute en php/mysql alors j'aurais besoin de votre aide.
Merci de votre aide voila le code de mon formulaire :
<form action="valid_art.php" method="POST">

   <label for="num_art">Numéro article :</label>
            <input type="text" name="art" size="30"/>
          </p>
   <label for="designation">Designation :</label>
            <input type="text" name="design" size="30"/>
          </p>
          <p>
            <label for="description">Description :</label>
            <input type="text" name="descript" size="30"/>
          </p>
          <p>
            <label for="prix">Prix :</label>
            <input type="text" name="prix" size="15"/>
          </p>
          <p>
            <label for="quantite">Quantité :</label>
            <input type="text" name="qte"size="30"/>
          </p>
            <br />
        <select name="four">
              <option value="1">Four1</option><option value="2">Four2</option><option value="3">Four3</option><option value="4">Four4</option><option value="5">Four5</option><option value="6">Four6</option><option value="7">Four17</option><option value="8">Four8</option>            </select>
                      </p>
  <input type="submit" value="ok" >
</form>
et voici ma page de validation

include("../config.inc.php");
$db = new mysqli( SERVEUR , USER , PASS , BASE);
$art=$_POST['art'];
$design=$_POST['design'];
$descript=$_POST['descript'];
$prix=$_POST['prix'];
$qte=$_POST['qte'];
$four=$_POST['four'];
    $req="INSERT INTO `article`('num_art', `desig_art`, `desc_art`, `prix_art`, `qte_art`, `num_four`) 
            VALUES (num_art=$art,desig_art=$design,desc_art=$descript,prix_art=$prix,qte_art=$qte,num_four=$four)";
            echo"$req";

Eléphanteau du PHP | 12 Messages

01 avr. 2014, 12:05

Bonjour elanonimo !

Je suis nouveau sur le forum, mais je vais tenter de t'aider au mieux =)

Première chose : as tu bien renseigné le bon fichier dans ta balise form ?

Deuxième : tu crées ta requête mais l'exécutes tu ?

Tiens moi au courant ^^

Petit nouveau ! | 5 Messages

01 avr. 2014, 12:21

Merci de ta réponse
Premièrement oui le nom du fichier est le bon car une fois le formulaire valider cela m'affiche bien ma page valid_art.php
J'ai encore un peu de mal mais si j écrit
"INSERT INTO `article`('num_art', `desig_art`, `desc_art`, `prix_art`, `qte_art`, `num_four`)
            VALUES (num_art=$art,desig_art=$design,desc_art=$descript,prix_art=$prix,qte_art=$qte,num_four=$four)"
Cela ne m’exécute pas la requête ? il faut rajouter une ligne ?

Eléphanteau du PHP | 12 Messages

01 avr. 2014, 13:51

Re bonjour !

Actuellement, tu mets simplement ta requête dans une variable $req, sans l'exécuter.

Pour l'exécuter tu dois utiliser la fonction mysql_query

Dans ton cas il me semble qu'il s'agit juste de faire un "mysql_query($req)"

Dis moi si ça marche !

Petit nouveau ! | 5 Messages

01 avr. 2014, 18:04

d'accord je viens de l'ajouter , rien ne se passe donc j'affiche la requête et voila ce que cela m'affiche
Warning: mysql_query(): Access denied for user 'www-data'@'localhost' (using password: NO) in valid_art.php on line 82 Warning: mysql_query(): A link to the server could not be established in /.../valid_art.php on line 82
Je ne comprend pas , tu pourrais m'expliquer si tu peux ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 avr. 2014, 22:15

salut,

tu dois indiquer un mot de passe lors de la connexion.

je te conseil ce tuto et les suivants pour mieux comprendre le SQL (MySQL) et son utilisation avec php.

pour info ta requête n'est pas syntaxiquement correct elle va forcément te fournir un erreur.


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 5 Messages

02 avr. 2014, 12:57

SAlut
je sais mais pour remédier a cela j'ai dans mon dossier un fichier config.inc.php et j’appelle bien ce fichier
Tu dis que ma requête n'est pas syntaxiquement correct , tu pourrais me dire en quoi elle n'est pas correcte ?

Petit nouveau ! | 5 Messages

03 avr. 2014, 17:28

Re
j'ai changé le code et ajouter la ligne de connexion ma base de données et je n'ai plus d'erreur
J'ai aussi modifier ma requête
$art=$_POST['art'];
$design=$_POST['design'];
$descript=$_POST['descript'];
$prix=$_POST['prix'];
$qte=$_POST['qte'];
$four=$_POST['four'];
    $req="INSERT INTO article
            VALUES ('$art','$design','$descript','$prix','$qte','$four')";
            echo"$req";
            mysql_query ($req);
Cependant aucun article n'est ajouté dans ma base
Auriez vous une idée ?