Inserer des données dans une table avec Insert Into

PHP cours tutorial

Inserer des données dans une table MySQL Insert Into

Insérez les données dans une Table de base de données :Insert Into
Insert Into est employée pour ajouter de nouveaux enregistrements à une table de base de données.
Syntaxe
Il est possible d'écrire Insert Into sous deux formes.
La première forme ne spécifie pas les noms de colonne où les données seront insérées, seulement leurs valeurs :




Sélectionner le code


	INSERT INTO nom_de_table
	VALUES (value1, value2, value3,...)

 
La deuxième forme spécifie les noms de colonne et les valeurs à insérer :

Sélectionner le code

	
	INSERT INTO nom_de_table (colonne1, colonne2, colonne3,…)
	VALEURS (valeur 1, valeur 2, value3,…) 

 

Pour apprendre plus au sujet du SQL, visitez svp notre cours d'instruction de SQL.
Pour obtenir le résultat avec PHP nous devons employer la fonction mysql_query (). Cette fonction est employée pour envoyer une question ou une commande à une connexion MySQL.
Exemple
Dans le chapitre précédent nous avons créé une table appelée "visiteurs", avec six colonnes.
Nous emploierons la même table dans cet exemple. L'exemple suivant ajoute deux nouveaux records à la table de "visiteurs" :



Sélectionner le code

	
	<?php
	$con = mysql_connect("localhost","user","pwd");
	if (!$con)
	{
	die('connexion impossible' . mysql_error());
	}

	mysql_select_db("maBase", $con);

	mysql_query("INSERT INTO `visiteurs` (`id`, `nom`, `prenom`, `age`, `paye`, `sexe`, `date inscri`)
	VALUES(‘’, 'Griffin', 'Peter', 35, 'France', 'Homme', '2003-01-12'),
	(‘’, 'Glenn', 'Roberta', 19, 'Brésil', 'femme', '2003-02-12'),
	");

	mysql_close($con);
	?> 

 
Dans l’exemple ci-dessus nous avons laissé le "id" vide car il est en auto incrémentation donc il sera ajouté automatiquement.

Insérez les données d'un formulaire dans une base de données


Maintenant nous créerons un formulaire HTML qui peut être employée pour ajouter des nouveaux records à la table de "visiteurs".
Voici la forme de HTML :
Page "formulaire.php"

Sélectionner le code

	
	<html>
	<body>

	<form action="insert.php" method="post">

	Nom: <input type="text" name="Nom" />
	Prénom: <input type="text" name="Prénom" />
	Age: <input type="text" name="age" />
	Payé : <input type="text" name="paye" />
	Genre: <input type="text" name="sexe" />
	 
	<input type="submit" />
	</form>

	</body>
	</html>

 


Quand un utilisateur clique sur le bouton de soumission sous la forme de HTML dans l'exemple ci-dessus, les données du formulaire sont envoyées à une page "insert.php".
La page "insert.php" se relie à la base de données, et recherche les valeurs du formulaire avec les variables $_POST.
Puis, la fonction de mysql_query () exécute l'insertion dans le code, et un nouveau enregistrement sera ajouté à la table de "visiteurs".
Voici la page "insert.php" :

Sélectionner le code


	<?PHP
	$con = mysql_connect ("localhost", "user", "pwd") ;
	si (! $con)
	{
	die("ne pourrait pas se relier : ". mysql_error ());
	}

	mysql_select_db ("maBase", $con) ;
	//en stocke la date du jour dans la variable $date_inscri
	$date_inscri=date();

	$sql=" INSERT INTO `visiteurs` (`id`, `nom`, `prenom`, `age`, `paye`, `sexe`, `date inscri`)
	VALUES
	('','$_POST[nom]','$_POST[prenom]','$_POST[age]','$_POST[paye]','$_POST[sexe]','$date_inscri')";

	if (!mysql_query($sql,$con))
	{
	die('impossible d’ajouter cet enregistrement : ' . mysql_error());
	}
	echo "L’enregistrement est ajouté ";

	mysql_close($con)
	?>
	<a href=" formulaire.php ">Retour au formulaire</a>

 

Dans cet exemple nous créer deux pages:
Une qui contient le formulaire que nous avons nommé formulaire.php
Une page qui traite les données du formulaire insert.php .
Pour insérer la date nous avons utilisé la fonction php date() qui renvoie la date du jour.
Nous aurons pu utiliser une seule page voici le code:

Sélectionner le code


<?PHP
//On teste si le formulaire a été soumis
	if ((isset($_POST['nom'])) && (isset($_POST['prenom']))	&& (isset($_POST['age'])) && (isset($_POST['paye'])) && (isset($_POST['sexe']) ))
	{
	//on teste si tous les champs du formulaire sont remplits
	if ((!empty($_POST['nom'])) && (!empty($_POST['prenom']))	&& (!empty($_POST['age'])) && (!empty($_POST['paye'])) && (!empty($_POST['sexe'])))
	{
	//on se connecte au srveur
	$con = mysql_connect ("localhost", "root", "") ;
if (! $con){
die("ne pourrait pas se relier : ". mysql_error ());
}
// on selectionne la base de données
mysql_select_db ("mabase", $con) ;
//On stocke la date du jour dans la variable $date_inscri
$date_inscri= date("Y-m-d");
//on insere les données du formulaire dans la table 
$sql=" INSERT INTO `visiteurs` (`id`, `nom`, `prenom`, `age`, `paye`, `sexe`, `dateInscrit`)
VALUES('','$_POST[nom]','$_POST[prenom]','$_POST[age]','$_POST[paye]','$_POST[sexe]','$date_inscri')";

if (!mysql_query($sql,$con))
{
die('impossible d’ajouter cet enregistrement : ' . mysql_error());
}
echo "L’enregistrement est ajouté ";
mysql_close($con);
}else $erreure="Un champ est vide";


}
?>
<html>
<body>
<?php
if(isset($erreure)) echo $erreure;
?>

<form action="" method="post">

Nom: <input type="text" name="nom" />
Prénom: <input type="text" name="prenom" />
Age: <input type="text" name="age" />
Payé : <input type="text" name="paye" />
Genre: <input type="text" name="sexe" />
 
<input type="submit" />
</form>

</body>
</html>

 

Gestion de contacts (suite)

Pour cette partie du tutorial, je reviendrai sur la base de données de contacts que nous avons créé dans un chapitre précédent dont voici le lien :
table gestion des contacts, si vous voulez y revenir pour rappel.
Nous allons maintenant ajouter la première information d’un contact à la base de données :

Voici la liste des informations concernant le contact que nous voulons ajouter à la table contact

  • prenom : John
  • nom : Smith
  • Telephone : 01234 567890
  • Mobile : 00112 334455
  • fax : 01234 567891
  • email : johnsmith@gowansnet.com
  • Web : http://www.gowansnet.com

Une seule commande sera nécessaire pour tous mettre dedans :

$query = "INSERT INTO contacts VALUES ('','John','Smith','01234 567890','00112 334455','01234 567891','johnsmith@website.com','http://www.website.com')";

Cela peut sembler un peu déroutant au début, donc je vais vous expliquer ce que cela signifie .
Tout d'abord $query est une variable qui va contenir notre commande. La partie suivante :

INSERT INTO contacts VALUES(…),

C’est la commande, il est assez facile à comprendre. Elle demande à PHP d’insérer dans la table appelée contacts les valeurs entre parenthèses.

La partie entre parenthèses contient toutes les informations à ajouter. Il utilise tous les champs dans l'ordre et insère les informations entre les guillemets. Par exemple :

John
sera insérée dans le 2éme champ dans la table contacts que nous avons nommé prenom.

Donc il faut mettre les valeurs dans l’ordre des champs de votre table

Vous avez peut-être remarqué que nous n’avons pas inséré de valeur dans le premier champ dans la base de données (id). C'est parce qu’il sera donné automatiquement par l’ auto_increment

Pour exécuter cette commande on va faire appelle à la fonction mysql_query() comme suit :

mysql_query($query) ;

Par carabde 20 Aout 2014