BD/PHP

Résolu/Fermé
Signaler
Messages postés
119
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
18 décembre 2014
-
Messages postés
6650
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
-
Bonjour, je suis entrain de travailler sur un petit site en html5/CSS3 avec un peu de php et de javascript pour visualiser la base de donnée du matériel informatique du lycée ou je travail. J'ai donc créé ma base de donnée avec phpmyadmin, j'ai récupérer une fonction de conection à celle-ci qui marche bien ("fonctions.connect.php"). Le problème est que sur ma page Ajouter.php j'ai créer une petit champ de ce style :

<FORM Method="POST" Action="BD.php"> Numéro de la salle : <INPUT type=text size=1 name=Salle> <input type="submit" name="submit" Value="Ajouter">   
</div></FORM>



Et j'aimerai donc récupérer le numéro de la salle pour l'introduire le numéro comme id_salle dans ma table salle. J'ai donc programmé le fichier BD.php comme vous pouvez le voir ci dessous, et quand je clique sur le bouton ajouter sur ma page, il charge une page blanche et puis rien. Je ne comprend pas, le code me semble pourtant juste. J'ai testé ma fonction de connection aussi à part et elle marche aussi.

<?php

include 'fonctions.connect.php';
$connect_db = connect();

if ($_POST['Salle']!='')
{
$num_Salle = $_POST['Salle'];
$sql='INSERT INTO Salle(id_salle)
VALUES ("$num_Salle")';

mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

// on ferme la connexion à la base
mysql_close();

?>

1 réponse

Messages postés
6650
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 316
Bonjour,

Votre code SQL:
INSERT INTO Salle(id_salle)
  VALUES ("$num_Salle") 


déja, si vous faites deux insertions du même numéro, vous aurez une erreur, donc faire:

INSERT IGNORE INTO Salle(id_salle)
  VALUES ("$num_Salle")


Ensuite, faites une insertion clé-valeur:

INSERT IGNORE INTO Salle(id_salle)
 SET id=$num_Salle


Code complet de $sql:

$sql = "INSERT IGNORE INTO Salle(id_salle)
 SET id=$num_Salle";


ATTENTION: ne marche que si vous avez le champ ID. Si votre numéro de salle est stocké dans un champ de nom différent, adaptez le code SQL que je vous donne...

A+