Table des matières
Niveau
..........
En rapport...

Quoi ?

Voici des fonctions que j'ai élaboré pour m'aider lorsque je développe des sites avec du mysql.
Elles reprennent certaine fonctions d'origines mais évitent de faire des tests à chaque requettes.

Code

php
//Ces variable sont indispensable a la connexion au serveur mysql
$user="root"; //nom d'utilisateur
$pass="***"; //mot de passe
$server="sql.server.com"; //serveur sql
$db="madatabase"; //base de donné
function _Connect() {
/* Connecte à la base de donné et défini la base a utiliser */
	$GLOBALS['link'] = mysql_connect($GLOBALS['server'], $GLOBALS['user'], $GLOBALS['pass']) or die("Impossible de se connecter : " . mysql_error());
    mysql_select_db($GLOBALS['db']);	
}
function _Deconnect() {
/* déconnecte de la base */ 
	mysql_close($GLOBALS['link']);
}
function _Query($sql) {
/* Va exécuter la requete décrite dans $sql */
	// Exécution de la requête
	$result = @mysql_query($sql,$GLOBALS['link']);
	// Vérification du résultat
	// Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.
	if (!$result) {
	   $message  = 'Requête invalide : ' . mysql_error() . "<br>";
	   $message .= 'Link : ' . $GLOBALS['link'] . "<br>";
	   $message .= 'Requête complète : ' . $sql;
	   //echo $message;
	   die($message);
	}
        //Pas d'erreur, on renvoi le résultat
	return $result;
}
function _FetchCurrentRow($result_query) {
/* Va placer la requette sur l'enregistrement suivant. SI on vien de l'exécuté, opn se palce sur le 1er enregistrement */
	//result_query est le retour de _Query()
	return mysql_fetch_assoc($result_query);
}
function _FetchIndexedRow($result_query,$ligne) {
/* Va placer la requette sur la ligne choisie, pour lire par exemple directement la 3eme ligne */
	@mysql_data_seek($result_query, $ligne);
	return mysql_fetch_assoc($result_query);
}

Exemple

Voici un exemple d'utilisation qui va faire une requette dans la table plop, recupéré les champs toto, tata et titi, puis les afficher, ligne par ligne (ligne de resultat de la requette)

php
        //Connexion
        _Connect()
	//requete
	$sql="select toto,tata,titi from plop";
	//execute la requete
	$Hret=_Query($sql);
	//se place sur la 1ere ligne
	$ret=_FetchCurrentRow($Hret);
	//si $ret vaut false c'est qu'il n'y a plus de ligne
	//si il vaut false des le debut c kil ny avais pas de ligne
	//tant kil y a des lignee
	while ($ret != false) {
		//traitement
		//le $ret est un array qui contien les lignes du tableau et les colones définies dans la requette
		echo $ret['toto'];
		echo $ret['tata'];
		echo $ret['titi'];
		//ligne suivante
		$ret=_FetchCurrentRow($Hret);
	}
        //Deconnexion
        _Deconnect()