|
|||||
|
Menu principal
Effectuez une recherche sur la totalité du site : Si vous souhaitez vous aussi écrire sur Game On Net et partager ainsi votre propre expérience, n'hésitez pas à nous contacter.
|
Développement ::
Bases de données ::
Lecture et écriture dans une base MySQLComment écrire et lire un enregistrement dans une table MySQL. lundi 22 mai 2006 par Prélude
Nous avons vue rapidement dans un précédent article comment ouvrir une base de données et lire un enregistrement. Nous allons voir ici comment écrire un enregistrement.
OuvertureReprenons le code qui permet d’ouvrir une base : @mysql_connect($gBaseHost, $gBaseLogin, $gBasePass) or die("Impossible de se connecter à la base de données"); @mysql_select_db($gBase) or die("Impossible de se connecter à la base de données"); Je vous laisse revoir l’article expliquant ces deux lignes pour plus d’informations. EcritureLe formulaire a été rempli correctement par le joueur, nous avons son pseudo et son mot de passe et la base est ouverte.
$SQL = "INSERT INTO TableJoueurs (Pseudo, Password) VALUES ("; $SQL .= "'".$Pseudo."', "; $SQL .= "'".$Password."');"); Attention lorsque vous faites une requête SQL à bien protéger votre base et vérifiant que les informations saisies soient correctes. Nous verrons dans un prochain articles les différentes possiblités de vérifier ces informations. La syntaxe de la commande INSERT INTO est la suivante : INSERT INTO table [(champs1, champs2...)] VALUES (valeur1, valeur2...) La liste des champs peut-être ommise si l’ordre d’insertion concerne tous les champs de la table. Maintenant que la requête est prête, nous allons l’exécuter : $result = mysql_query($SQL); Un nouvel enregistrement devrait donc se trouvé dans la table "TableJoueurs". Vous pouvez récupérer l’identifiant unique de cet enregistrement avec la commande suivante : $ID = mysql_insert_id(); Et enfin, n’oubliez pas de fermer la base : mysql_close(); LectureVoilà l’enregistrement dans la base. Le joueur revient pour jouer. Il indique donc son pseudo (qui lui servira de login dans cet exemple) et son mot de passe. Nous allons vérifier que ces informations sont correctes et modifier la date de dernier passage dans sa fiche. Commençons par rechercher la fiche en fonction du pseudo et du mot de passe : $SQL = "SELECT * FROM TableJoueurs WHERE "; $SQL .= "Pseudo='".$Pseudo."' AND Password='".$Password."'"; $result = mysql_query($SQL); La requête est effectuée, il nous reste juste à contrôler qu’il y a au moins un enregistrement : $nb = mysql_num_rows($result); Cette fonction permet de retourner le nombre d’enregistrements trouvé dans la requête SQL correspondante.
if($nb>0) { // la fiche a été trouvée $ID = mysql_result($result, 0,"ID"); // on récupère le numéro de la fiche $SQL = "UPDATE TableJoueurs SET "; $SQL .= "DatePassage=".date("'Y-m-j'")." "; $SQL .= "WHERE ID=".strval($ID); $result = mysql_query($SQL); }else{ // la fiche n'a pas été trouvée // prévoir un message d'erreur pour l'utilisateur... } La fiche vient d’être modifiée à l’aide de la requête SQL "UPDATE". La syntaxe de cette commande est la suivante : UPDATE table SET champs1=valeur1, champs2=valeur2... [WHERE condition(s)] Evidement, à chaque fois il faut contrôler les données qui sont utilisées pour effectuer les recherches, mises à jour ou insertion dans la base de données. Il ne faut jamais inserer directement dans une base de données des informations en provenance d’un formulaire ! Rubrique
:: Développement
:: Bases de données
|
|
|||
|
.:: Magazine réalisé par Prélude :: Partenaires : Gamers'room - PBeM News - AFC - jeux-web.com - PBeM Exchange ::.
|
|||||