I. Introduction▲
Apprenez à utiliser le langage PHP pour développer des sites Web dynamiques grâce, notamment, à l'interaction facile de ce langage avec les bases de données.
Ce langage est idéal pour créer des blogs ou des forums de discussion.
Avec la méthode "Développement Facile", vous allez pouvoir créer des sites Web dynamiques avec du contenu évolutif et une maintenance facilitée.
Retrouvez un extrait de la formation "PHP Facile", composée de plus de 30 cours professionnels pour vous aider à progresser rapidement avec la maîtrise du langage PHP.
II. Les bases de données MySQL n'auront plus de secret pour vous en PHP▲
Dans cette première vidéo, découvrez une introduction au bases de données MySQL en PHP.
Apprenez à vous connecter et vous déconnecter de votre base de données.
Ci-dessous, l'exemple de code
<?php
/**
The Initial Developer of the Original Code is
Matthieu - http://www.programmation-facile.com/
Portions created by the Initial Developer are Copyright (C) 2013
the Initial Developer. All Rights Reserved.
Contributor(s) :
*/
// connexion à une base de données MySQL
// initialisation du tableau de connexion à MySQL
$aConnect = array();
$aConnect['ip'] = "localhost"; // le serveur
$aConnect['login'] = "root"; // le login
$aConnect['password'] = "mot_de_passe"; // mot de passe
$aConnect['database'] = "nom_de_la_base"; // nom de la base de donnee
$aConnect['port'] = "3306"; //
$oConnect = mysqli_connect($aConnect['ip'], $aConnect['login'], $aConnect['password'], $aConnect['database'], $aConnect['port'] );
if ($oConnect)
{
echo "Connexion réussie : version du serveur = ".$oConnect->server_info."<br />";
// Déconnexion.
$bClose = mysqli_close($oConnect);
echo "Déconnexion : bClose = ".$bClose."<br />";
}
else
{
echo "Erreur lors de la connexion.<br />";
}
?>
III. Comment lire des données MySQL depuis PHP▲
Apprenez grâce à cette vidéo, à lire les données présentes dans votre base MySQL depuis votre code PHP.
Après vous être connecté, vous voudrez sûrement récupérer les données de votre base pour les afficher.
Ci-dessous, l'exemple de code
<?php
/**
The Initial Developer of the Original Code is
Matthieu - http://www.programmation-facile.com/
Portions created by the Initial Developer are Copyright (C) 2013
the Initial Developer. All Rights Reserved.
Contributor(s) :
*/
// connexion à une base de données MySQL
// initialisation du tableau de connexion à MySQL
$aConnect = array();
$aConnect['ip'] = "localhost"; // le serveur
$aConnect['login'] = "root"; // le login
$aConnect['password'] = "mot_de_passe"; // mot de passe
$aConnect['database'] = "nom_de_la_base"; // nom de la base de donnee
$aConnect['port'] = "3306"; //
$oConnect = mysqli_connect($aConnect['ip'], $aConnect['login'], $aConnect['password'], $aConnect['database'], $aConnect['port'] );
if ($oConnect)
{
echo "Connexion réussie : version du serveur = ".$oConnect->server_info."<br />";
// Déconnexion.
$bClose = mysqli_close($oConnect);
echo "Déconnexion : bClose = ".$bClose."<br />";
}
else
{
echo "Erreur lors de la connexion.<br />";
exit();
}
$s_sqlSelect = "SELECT nom, prenom FROM PERSONNE WHERE age = 26";
$oResult = @mysqli_query($oLinkSql,$s_sqlSelect);
// si la requête a réussie ?
if ($oResult)
{
echo "Requête exécutée.<br />";
// parcours de tous les résultats
while ( $oSqlObject = mysqli_fetch_object($oResult) )
{
$sName = $oSqlObject->nom;
$sPrénom = $oSqlObject->prenom;
echo "Nom de la personne âgée de 26 ans : ".$sName."<br />";
}
}
else
{
echo "Echec de l'exécution de la requête.<br />";
}
// Déconnexion.
$bClose = mysqli_close($oLinkSql);
echo "Déconnexion : bClose = ".$bClose."<br />";
?>
IV. Comment mettre à jour les données MySQL avec PHP▲
Dans cette vidéo, apprenez la mise à jour des données de votre base MySQL en PHP.
Ci-dessous, l'exemple de code
<?php
/**
The Initial Developer of the Original Code is
Matthieu - http://www.programmation-facile.com/
Portions created by the Initial Developer are Copyright (C) 2013
the Initial Developer. All Rights Reserved.
Contributor(s) :
*/
// connexion à une base de données MySQL
// initialisation du tableau de connexion à MySQL
$aConnect = array();
$aConnect['ip'] = "localhost"; // le serveur
$aConnect['login'] = "root"; // le login
$aConnect['password'] = "mot_de_passe"; // mot de passe
$aConnect['database'] = "nom_de_la_base"; // nom de la base de donnee
$aConnect['port'] = "3306"; //
$oConnect = mysqli_connect($aConnect['ip'], $aConnect['login'], $aConnect['password'], $aConnect['database'], $aConnect['port'] );
if ($oConnect)
{
echo "Connexion réussie : version du serveur = ".$oConnect->server_info."<br />";
// Déconnexion.
$bClose = mysqli_close($oConnect);
echo "Déconnexion : bClose = ".$bClose."<br />";
}
else
{
echo "Erreur lors de la connexion.<br />";
exit();
}
$s_sqlDelelte = "DELETE FROM PERSONNE WHERE age = 26";
$oResult = @mysqli_query($oLinkSql,$s_sqlDelelte);
// si la requête a réussie ?
if ($oResult)
{
echo "Suppression de toutes les personnes âgées de 26 ans effectuée.<br />";
}
else
{ // récupération et affichage du message d'erreur
echo "Echec de l'exécution de la requête. Query : ".$s_sqlDelelte." - error : ".mysqli_error($oLinkSql)."<br/>";
}
// Déconnexion.
$bClose = mysqli_close($oLinkSql);
echo "Déconnexion : bClose = ".$bClose."<br />";
?>
V. Comment utiliser la puissance des sessions avec PHP▲
Découvrez dans cette vidéo, comment gérer les sessions en PHP.
Gérez de façon unique les visiteurs de votre site grâce aux sessions.
Ci-dessous, l'exemple de code.
<?php
/**
The Initial Developer of the Original Code is
Matthieu - http://www.programmation-facile.com/
Portions created by the Initial Developer are Copyright (C) 2013
the Initial Developer. All Rights Reserved.
Contributor(s) :
*/
// création d'un idenfiant unique
echo uniqid()."<br />";
echo uniqid()."<br /><br />";
echo uniqid("abc")."<br /><br />";
echo uniqid("",TRUE)."<br />";
// ajout d'un chiffrement supplémentaire
echo md5( uniqid() )."<br /><br />";
echo md5( uniqid() )."<br />";
?>
VI. Une classe MySQL pour gagner énormément de temps avec PHP▲
Vous avez déjà vu les concepts de la programmation orientée objet en PHP.
Appliquez ce concept avec les bases de données MySQL en PHP.
Gagnez du temps et rendez votre code beaucoup plus robuste.
Ci-dessous, l'exemple de code.
<?php
/**
The Initial Developer of the Original Code is
Matthieu - http://www.programmation-facile.com/
Portions created by the Initial Developer are Copyright (C) 2013
the Initial Developer. All Rights Reserved.
Contributor(s) :
*/
/**
* @file Mysql.php
*
* @author Matthieu
*
* @version 0.1
@usage
$oSqlConnection = new Mysql();
$s_sqlSelect = "SELECT nbvisiteur FROM compteur_visite WHERE ip = '192.168.0.23'";
$o_sqlResult = $oSqlConnection->query($s_sqlSelect);
while ( $o_result = $oSqlConnection->getObject($o_sqlResult) )
{
// caractéristiques des messages
$n_nbVisiteur = $o_result->nbvisiteur;
}
Documentation :
http://dev.mysql.com/doc/refman/5.0/fr/sql-syntax.html
Installation d'un environnement PHP, MySQL sous Windows (pour vos tests)
WampServer : http://www.wampserver.com/
EasyPHP : http://www.easyphp.org/
exemple de requêtes MySQL
SELECT *
FROM wordpress_useronline
WHERE username = 'Matthieu'
SELECT ID, user_login
FROM wordpress_users
WHERE user_login = 'Matthieu' AND ID = 2
SELECT posts.post_author, users.user_login, posts.post_date, posts.post_content, posts.post_title, posts.post_name
FROM `wordpress_posts` posts
INNER JOIN wordpress_users users ON users.ID = posts.post_author
AND users.user_login = 'Matthieu'
*/
class Mysql
{
private $oLinkSql;// la connexion mysql en cours
private $oResult;// le résultat de la requête exécutée
private $aConnect;// la configuration de la base de données
// ---------------------------------- __construct() ----------------------------------------------------------
/**
* @brief
* @param -
*/
public function __construct()
{
// initialisation des propriétés de la classe
$this->aConnect = array();
/* delfiweb */
$this->aConnect['ip'] = "localhost"; // le serveur
$this->aConnect['login'] = "root"; // le login
$this->aConnect['password'] = "mot_de_passe"; // mot de passe
$this->aConnect['database'] = "nom_de_la_base"; // nom de la base de données
$this->aConnect['port'] = "3306"; //
/* local
$ip = "localhost";
$login = "root"; // le login
$password = ""; // mot de passe
*/
// adresse id $_SERVER["REMOTE_ADDR"];
if ( $this->oLinkSql = @mysqli_connect( $this->aConnect['ip'], $this->aConnect['login'], $this->aConnect['password'], $this->aConnect['database'], $this->aConnect['port'] ) )
{
$is_erreur = false ;
$sql = 'SET CHARACTER SET \'utf8\'';
$this->query($sql);
$sql = 'SET collation_connection = \'utf8_general_ci\'';
$this->query($sql);
}
else // erreur de connexion à la base -> redirection sur une page d'erreur
{
echo "<meta http-equiv=\"refresh\" content=\"0; URL=erreurs/erreurBDD.htm\">";// possibilité d'utiliser un header('Location: erreurs/erreurBDD.htm');
exit;
}
}
// -----------------------------------------------------------------------------------------------------------
// ------------------------------------------- PUBLIC FUNCTIONS ---------------------------------------------
// -----------------------------------------------------------------------------------------------------------
/**
* Permet de récupérer les paramètres de connexion de la base.
* Utile pour d'autres scripts PHP.
*
* @return : un tableau avec les paramètres de connexion de la base
*/
public function getConfig()
{
return $this->aConnect;
}
/**
* Exécute une requête mysql
*
* @param requête
* @return : un message d'erreur ou l'objet avec le résultat de la requête
*/
public function query($sSqlQuery)
{
if ( $this->oResult = @mysqli_query($this->oLinkSql,$sSqlQuery) ) return $this->oResult;
else return 'Query : '.$sSqlQuery.' - error : '.@mysqli_error($this->oLinkSql);
}
/*
* Donne le résultat de la requête sous forme d'objet
*
* @param $oResultQuery : le résultat renvoyé par une requête pour obtenir un objet
*/
public function getObject($oResultQuery = NULL)
{
// dans le résultat d'une autre requête
if($oResultQuery!=NULL)
{
return @mysqli_fetch_object($oResultQuery);
//if ( @mysqli_error($this->oLinkSql) ) return @mysqli_error($this->oLinkSql);
}
// donne le résultat de la dernière requête exécutée
if ($this->oResult != NULL)
{
return mysqli_fetch_object($this->oResult);
//if ( @mysqli_error($this->oLinkSql) ) return @mysqli_error($this->oLinkSql);
}
}
// ---------------------------------- getNumRows() ----------------------------------------------------------
/**
* @brief donne le nombre d'éléments modifiés par la requête
* Pratique dans le cas des INSERT
*
* @return (integer) le nombre d'éléments modifiés par la requête
*/
public function getNumRows()
{
if( $this->oLinkSql != NULL && $this->oLinkSql != false)
{
return @mysqli_affected_rows($this->oLinkSql);
//if (@mysqli_error($this->oLinkSql)) return @mysqli_error($this->oLinkSql);
}
}
// ---------------------------------- lastInsertId() ----------------------------------------------------------
/**
* @brief Retourne l'identifiant automatiquement généré par la dernière requête.
* Pratique dans le cas d'un INSERT ou UPDATE pour récuperer le dernier identifiant
*
* @return (integer) le dernier identifiant inséré
*/
public function lastInsertId()
{
return @mysqli_insert_id($this->oLinkSql);
}
// -----------------------------------------------------------------------------------------------------------
// ----------------------------------------- Others ----------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------
/**
* @brief
*
* @return
*/
public function __destruct()
{
$this->oLinkSql = NULL ;
$b_rep = @mysqli_close($this->oLinkSql);
if( $b_rep != true )
return 'Erreur closing sql connexion!';
}
// ---------------------------------------- __toString() ----------------------------------------------------
/**
* @brief Returns the string representation of this instance.
*
* @usage echo(myObject) ou print(myObject)
* @return the string representation of this instance.
*/
public function __toString()
{
$s_classContent = "[Object ".__CLASS__."]<br />";
foreach($this as $prop => $value)
{
$s_classContent .= "$prop => $value <br />";
}
return $s_classContent;
}
}
?>
VII. Comment utiliser les formulaires avec PHP▲
Dans cette vidéo, découvrez une introduction au formulaire en PHP.
Ci-dessous, l'exemple de code
<?php
/**
The Initial Developer of the Original Code is
Matthieu - http://www.programmation-facile.com/
Portions created by the Initial Developer are Copyright (C) 2013
the Initial Developer. All Rights Reserved.
Contributor(s) :
*/
// exemple d'un formulaire
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Vos informations</title>
</head>
<body>
<form action="form_action.php" method="post">
<div>
Nom :
<input type="text" name="nom" value=""
size="20" maxlength="20" />
Mot de passe :
<input type="password" name="mot_de_passe" value=""
size="20" maxlength="20" />
<br />Sexe :
<input type="radio" name="sexe" value="M" />Masculin
<input type="radio" name="sexe" value="F" />Feminin
<br />Photo :
<input type="file" name="photo" value="" size="50" />
<br />Couleurs preferees :
<input type="checkbox" name="couleurs[bleu]" />Bleu
<input type="checkbox" name="couleurs[blanc]" />Blanc
<input type="checkbox" name="couleurs[rouge]" />Rouge
<br />Langue :
<select name="langue">
<option value="E">Espagnol</option>
<option value="F" selected="selected" >Francais</option>
<option value="I">Italien</option>
</select>
<br />Langages de programmation préférés :<br />
<select name="fruits[]" multiple="multiple" size="8">
<option value="AS">ActionScript</option>
<option value="J">JavaScript</option>
<option value="C">C</option>
<option value="asm">Assembleur</option>
</select>
<br />Des suggestions :<br />
<textarea name="commentaire" rows="4" cols="50"></textarea>
<br />
<input type="hidden" name="invisible" value="693228" /><br />
<input type="submit" name="soumettre" value="Valider vos reponses" />
<input type="image" name="valider" src="valider.gif" />
<input type="reset" name="effacer" value="Effacer" />
</div>
</form>
</body>
</html>
VIII. Recevez gratuitement la formation "PHP Facile"▲
Si vous souhaitez aller plus loin dans la création de sites Web dynamique,
vous pouvez recevoir gratuitement la formation "PHP Facile" avec des cours pas à pas, accompagnés des codes source commentés.
Ainsi, vous progressez à votre rythme, avec un suivi personnalisé et individuel. Vous avez la possibilité de poser toutes vos questions techniques sous chaque cours.
Vous allez ainsi découvrir comment utiliser le langage PHP et les bases de données MySQL. 
Cliquez simplement ici pour recevoir gratuitement la formation "PHP Facile" !Cliquez simplement ici pour recevoir gratuitement la formation PHP Facile !
IX. Remerciements▲
Merci beaucoup à l'équipe de rédaction de Developpez.com de contribuer à la diffusion de ce tutoriel.
J'adresse également un merci tout particulier à Jacques Jeanjacques_jean pour sa relecture orthographique.




