Insertion de données dans une base SQL en php
Comment insérer des données dans une base SQL MySql en PHP
Basiquement, un exemple de requête SQL pour insérer des données dans une base MySql
Insert Into `NomBaseDeDonnees`.`NomTable` (`NomChamp01`, `NomChamp02`) VALUES ('MaValeur texte', 3);
Lien vers le fichier : cliquez ici
Ici un exemple d'insertion de données dans une table B depuis une table A.
Seul les données non présentent dans la table A seront insérées dans la table B.
Insert Into `NomBaseDeDonnees`.`NomTableCible` (`NomChamp01`) SELECT `NomChamp01` FROM `NomTableSource` WHERE `chdbpedx001`.`NomTableSource`.`NomChamp01` NOT IN (Select `NomChamp01` FROM `NomTableCible`);
Lien vers le fichier : cliquez ici
Voici un exemple de code PHP complet pour insérer des données dans une base MySql
<!DOCTYPE html>
<HTML lang="fr">
<HEAD>
<meta charset="utf-8" />
<LINK rel="stylesheet" type="text/css" href="../style.css">
<title>Titre du site</title>
<meta name="Description" content="Description du site"/>
<meta name="author" content="Bob l'éponge" />
<meta name="Keywords" content="a, b, c"/>
</HEAD>
<BODY>
<?php
//Tiré de http://www.siteduzero.com/informatique/tutoriels/les-magic-quotes-ou-guillemets-magiques/desactiver-les-magic-quotes
//Cette option pour virer les magic quotes est importante lorsque l'on poste récupère des valeurs de champs Input et textarea faute de quoi par exemple C'est deviendra C\'est
function stripslashes_r($var) // Fonction qui supprime l'effet des magic quotes
{
if(is_array($var)) // Si la variable passée en argument est un array, on appelle la fonction stripslashes_r dessus
{
return array_map('stripslashes_r', $var);
}
else // Sinon, un simple stripslashes suffit
{
return stripslashes($var);
}
}
if(get_magic_quotes_gpc()) // Si les magic quotes sont activés, on les désactive avec notre super fonction ! ;)
{
$_GET = stripslashes_r($_GET);
$_POST = stripslashes_r($_POST);
$_COOKIE = stripslashes_r($_COOKIE);
}
//Définition des constantes
define("SQLServerName","NomServeurMySQL");
define("sqldbname","NomBaseDeDonnees");
define("sqllogin","LoginSQL");
define("sqlpass","MotDePasseSQL");
$MaConnection = mysql_connect(constant('SQLServerName'),constant('sqllogin'),constant('sqlpass')); //Création de la connexion à la base de données
if ($MaConnection) {
mysql_select_db(constant('sqldbname'), $MaConnection); //Sélection de la base
mysql_query("SET NAMES UTF8"); //On utilise le codage UTF8
//Requete d'insertion simple
$sqlrequest = "Insert Into `".constant('sqldbname')."`.`NomTable` (`NomChamp01`, `NomChamp02`) VALUES ('MaValeur texte', 3);"; //3 est ici un exemple de numérique à insérer
echo "$sqlrequest<br />\n"; //Affichage d'une ligne
//Requete d'insertion en prenant des données contenues dans une table source qui n'existent pas dans une table cible
//$sqlrequest = "Insert Into `".constant('sqldbname')."`.`NomTableCible` (`NomChamp01`) SELECT `NomChamp01` FROM `NomTableSource` WHERE `".constant('sqldbname')."`.`NomTableSource`.`NomChamp01` NOT IN (Select `NomChamp01` FROM `NomTableCible`);";
//echo "$sqlrequest<br />\n"; //Affichage d'une ligne
if (strlen($sqlrequest) > 0){
$Resultat = mysql_query($sqlrequest, $MaConnection); //Passage d'une requête à la base de données
if (!$Resultat) {die('Erreur sur la requête : ' . mysql_error());}
else{ // Si la requête est bien passée
$MonTexte = "L'insertion s'est bien passée";
//if (mb_detect_encoding($MonTexte, 'UTF-8', true) === false) {$MonTexte = utf8_encode($MonTexte);} //Si le fichier qui contient le code n'est pas codé en utf-8, alors utilisé ce code pour que le message s'affiche correctement
echo "$MonTexte<br />\n"; //Affichage d'une ligne
}
}
mysql_close($MaConnection);
}
else{
die('Connexion impossible : ' . mysql_error());
}
?>
</BODY>
</HTML>
Lien vers le fichier : cliquez ici
Publicité
Article(s) suivant(s)
Article(s) précédent(s)