Code Search for Developers
 
 
  

sqlConnection.php from The Geronimo Project at Krugle


Show sqlConnection.php syntax highlighted

<?php
/* =============================================================================
 * sqlConnection
 * =============================================================================
 * Gestionnaire de connexion à une Base de Données SQL
 * =============================================================================
 */
class SqlConnection
{    
    /* -------------------------------------------------------------------------
     * connect
     * -------------------------------------------------------------------------
     * Connection à une Base de Données SQL
     * -------------------------------------------------------------------------
     * Entrée : rien
     * Sortie : rien
     * -------------------------------------------------------------------------
     */
    function connect() {}

    /* -------------------------------------------------------------------------
     * disconnect
     * -------------------------------------------------------------------------
     * Deconnection de la Base de Données SQL
     * -------------------------------------------------------------------------
     * Entrée : rien
     * Sortie : rien
     * -------------------------------------------------------------------------
     */
    function disconnect() {}
    
    /* -------------------------------------------------------------------------
     * query
     * -------------------------------------------------------------------------
     * Envoi d'une requete SQL
     * -------------------------------------------------------------------------
     * Entrée : - $query : Requête SQL à envoyer
     * Sortie : Retourne TRUE si la requête a réussi, FALSE sinon.
     *          Met à jour le champ $result
     * -------------------------------------------------------------------------
     */
    function query($qry) {}
    
    /* -------------------------------------------------------------------------
     * querySelect
     * -------------------------------------------------------------------------
     * Envoi d'une requete SQL de type SELECT
     * -------------------------------------------------------------------------
     * Entrée : - $from  : Nom de la table ou chercher les résultats
     *          - $what  : Tableau contenant les noms des champs à retourner
     *          - $where : Conditions de la requête (SELECT WHERE [...]) de la
     *                     forme champ = valeur, enregistrées dans un tableau
     *                     associatif.
     *          - $and   : Condition supplémentaire exprimée sous la forme d'une
     *                     chaîne de caractères.
     *                     Cette condition doit être une condition SQL valide
     *                     (doubler les ', etc...)
     * Sortie : Retourne TRUE si la requête a réussi, FALSE sinon.
     *          Met à jour le champ $result
     *          Requête :
     *          SELECT $what 
     *          FROM $table
     *          WHERE  champ1 = $where[champ1]
     *             ...
     *             AND champN = $where[champN]
     *             AND $condition
     * -------------------------------------------------------------------------
     */
    function querySelect($from, $what = array('*'), $where = array(), $and = '')
    {
    	/* Construction d'un tableau de conditions */
    	foreach(array_keys($where) as $fieldName)
    	{
    		$conditions[] = "$fieldName = 'addslashes($where[$fieldName])'";
    	}
    	if($and != '')
    	{
    		$conditions[] = "($and)";
    	}
    	
    	/* Construction de la requête */
        $query = "SELECT implode($what,',') FROM 'addslashes($from)'";
        if( !empty($conditions) )
        {
        	$query .= ' WHERE '.implode($conditions,' AND ');
        }
        
        /* Envoi de la requête */
        return $this->query($query);
    }
    
    /* -------------------------------------------------------------------------
     * querySelectRow
     * -------------------------------------------------------------------------
     * Envoi d'une requete SQL de type SELECT *
     * -------------------------------------------------------------------------
     * Entrée : - $from  : Nom de la table ou chercher les résultats
     *          - $where : Conditions de la requête (SELECT WHERE [...]) de la
     *                     forme champ = valeur, enregistrées dans un tableau
     *                     associatif.
     *          - $and   : Condition supplémentaire exprimée sous la forme d'une
     *                     chaîne de caractères.
     *                     Cette condition doit être une condition SQL valide
     *                     (doubler les ', etc...)
     * Sortie : Retourne TRUE si la requête a réussi, FALSE sinon.
     *          Met à jour le champ $result
     *          Requête :
     *          SELECT * FROM $table
     *          WHERE  champ1 = $where[champ1]
     *             ...
     *             AND champN = $where[champN]
     *             AND $condition
     * -------------------------------------------------------------------------
     */
    function querySelectRow($from, $where = array(), $and = '')
    {
    	return $this->querySelect($from, array('*'), $where, $and);
    }

    /* -------------------------------------------------------------------------
     * querySelectMax
     * -------------------------------------------------------------------------
     * Maximum d'un champ d'une table SQL
     * -------------------------------------------------------------------------
     * Entrée : - $from   : Nom de la table ou chercher les résultats
     *          - $what   : Nom du champ déterminant le maximum
     *          - $where  : Conditions de la requête (cf select)
     *          - $and    : Autres conditions de la requête (cf select)
     * Sortie : Retourne le maximum des $what
     * -------------------------------------------------------------------------
     */
    function querySelectMax($from, $what, $where = array(), $and = '')
    {
    	$this->select($from, "MAX($what)", $where, $and);
    	$max = $this->fetch();
    	return $max[$what];
    }

    /* -------------------------------------------------------------------------
     * querySelectCount
     * -------------------------------------------------------------------------
     * Nombre de lignes du résultat d'une requête SQL
     * -------------------------------------------------------------------------
     * Entrée : - $from   : Nom de la table ou chercher les résultats
     *          - $where  : Conditions de la requête (cf select)
     *          - $and    : Autres conditions de la requête (cf select)
     * Sortie : Retourne le nombre de lignes du résultat de la requête
     * -------------------------------------------------------------------------
     */
    function querySelectCount($from, $where = array(), $and = '')
    {
    	return $this->select($from, "COUNT(*) as NOMBRE", $where, $and);
    	$count = $this->fetch();
    	return $count['NOMBRE'];
    }
    
    /* -------------------------------------------------------------------------
     * queryInsert
     * -------------------------------------------------------------------------
     * Insertion d'une ligne dans une table SQL
     * -------------------------------------------------------------------------
     * Entrée : - $into   : Nom de la table ou insérer la ligne
     *          - $values : Tableau associatifs indéxés par les noms des champs
     * Sortie : rien
     * -------------------------------------------------------------------------
     */
    function queryInsert($into, $values)
    {
        /* Formatage des valeurs des champs (sauf pour les entiers) */
        foreach( array_keys($values) as $fieldName )
        {
            if( is_numeric($values[$fieldName]) )
            {
                $fields[$fieldName] = '\''.addslashes($values[$fieldName]).'\'';
            }
        }
        
        /* Construction de la requête */
        $query = "
            INSERT
            INTO addslashes($table)
            ('".implode( array_keys($fields),"','")."')
            VALUES ('".implode($fields,"','")."')";
        
        /* Envoi de la requete */
        return $this->query($query);
    }
    
    /* -------------------------------------------------------------------------
     * resultFetch
     * -------------------------------------------------------------------------
     * Renvoie la ligne courante du résultat, et positionne le curseur à la
     * ligne suivante.
     * Renvoie NULL si il n'y a plus de ligne à renvoyer.
     * -------------------------------------------------------------------------
     * Entrée : rien
     * Sortie : Retourne un tableau associatif (indéxé par les noms des champs)
     *          contenant les valeurs des champs de la ligne courante.
     * -------------------------------------------------------------------------
     */
    function resultFetch() {}
    
    /* -------------------------------------------------------------------------
     * resultTransform
     * -------------------------------------------------------------------------
     * Transforme le résultat d'une requête SQL en tableau d'objets
     * -------------------------------------------------------------------------
     * Entrée : $newObject($fields) : Constructeur d'un objet à partir d'un
     *                                tableau associatif indéxé par les noms
     *                                des champs.
     * Sortie : Retourne un tableau contenant les objets créés à partir du
     *          résultat d'une requête SQL
     * -------------------------------------------------------------------------
     */
    function resultTransform($newObject)
    {
    	$objects = array();
    	while( $row = $this->resultFetch() )
    	{
    		$objects[] = $newObject($row);
    	}
    	return $objects;
    }

}
?>




See more files for this project here

The Geronimo Project

The Geronimo project concists of two software :\n- Geronimo Hoshigo : a playable graphical user interface to play Go\n- Geronimo Margo : a artificial intelligence program which plays Go

Project homepage: http://sourceforge.net/projects/geronimo
Programming language(s): Java,Pascal,Perl,PHP
License: gpl2

  mysqlConnection.php
  sqlConnection.php