PHP Database connectivity





17
Date Submitted Mon. Oct. 9th, 2006 2:16 PM
Revision 1 of 1
Beginner adorkable81
Tags Database | PHP
Comments 2 comments
Database Class with quick connectivity and useful database functio

//ClsDatabase_DB
// $db=new ClsDatabase_db();$db->ClsDatabase_conn();
        class ClsDatabase__db{
            function ClsDatabase_conn($dbname="##database_name##"){
             mysql_connect ("localhost", "##username##", "##password##") or die ('I cannot connect to the database because: ' . mysql_error());
                        mysql_select_db ($dbname);
            }
            function ClsDatabase_query($query){
                $query = @mysql_query($query) or die(mysql_error());
                return $query;
            }
            function ClsDatabase_rs($query) {
                $query = @mysql_fetch_array($query);
                return $query;
            }
                function auto_id($tbl,$field,$strCondition="") {
                //GET THE MAXIMUM auto id of a table
                        $strCondition=$strCondition=="" ? "" : "where $strCondition";
                        $sql="Select MAX($field) as maxseq from $tbl $strCondition";
                        $rowsMAX = mysql_fetch_array(mysql_query($sql));
              return $rowsMAX['maxseq'] + 1;
                }
                function insert($table,$arrFieldValues,$debug=0)
                {
                /*
                INSERT record into database $table
                Example:
                $arrFieldValues=array("id" => 1,                                                        // leaving blank if this an auto increment field
                                                         "user_fname"   => "John",   //(or $_POST["user_fname"])
                                                         "user_lname"   =>  "Doe");
                insert("users",$arrFieldValues);
                If debug is set to 1, sql statement will be display
                */
           
                $arrFields=array_keys($arrFieldValues);
                $arrValues=array_values($arrFieldValues);
                $escVals=array();
                foreach ($arrValues as $val)
                {
                        if(!is_numeric($val)) $val="'".mysql_escape_string($val)."'";
                        $escVals[]=$val;
                }
                $sql="INSERT INTO $table (".join(', ',$arrFields).") VALUES(".join(', ',$escVals).")";
                if($debug) echo $sql;
                mysql_query($sql);
                return mysql_insert_id();
                }
       
                function update($table,$arrFieldValues,$arrConditions,$debug=0)
                {       
                /*
                UPDATE record into database $table
                Example:
                $arrFieldValues=array("id" => 1,                                                        // leaving blank if this an auto increment field
                                                         "user_fname"   => "John",   //(or $_POST["user_fname"])
                                                         "user_lname"   =>  "Doe");
                $arrConditions=array("user_lname" => "Doe");
                update("users",$arrFieldValues,$arrConditions);
                */
           
                        $arrUpdates=array();
                        foreach ($arrFieldValues as $field => $val)
                        {
                                if(!is_numeric($val)) $val="'".mysql_escape_string($val)."'";
                                $arrUpdates[]= "$field = $val";
                        }
                        $arrWhere=array();
                        foreach ($arrConditions as $field => $val){
                                if(!is_numeric($val)) $val="'".mysql_escape_string($val)."'";
                                $arrWhere[]= "$field = $val";
                        }
                        $sql="UPDATE $table SET ".join(', ',$arrUpdates)." WHERE ".join(' AND ',$arrWhere);
                        if($debug) echo $sql;
                        return mysql_query($sql);
                }
               
                function delete($table,$arrConditions)
                {
                       
                        $arrWhere=array();
                        foreach ($arrConditions as $field => $val)
                        {
                                if(!is_numeric($val)) $val="'".mysql_escape_string($val)."'";
                                $arrWhere[]= "$field = $val";
                        }
                         $sql="DELETE FROM $table WHERE ".join(' AND ',$arrWhere);
                        $hRes=mysql_query($sql);
                return mysql_affected_rows($hRes);
                }
               
               
                function boolDuplicate($table,$arrConditions)
                {
                        //CHECK for duplicate record with the same conditions
                        $arrWhere=array();
                        foreach ($arrConditions as $field => $val)
                        {
                                if(!is_numeric($val)) $val="'".mysql_escape_string($val)."'";
                                $arrWhere[]= "$field = $val";
                        }
                        $sql="SELECT * FROM $table WHERE ".join(' AND ',$arrWhere);
                        $hRes=mysql_query($sql);
                        if(mysql_num_rows(mysql_query($sql))>0)
                                return 1;
                        else
                                return 0;
                }
                function getOne($tbl,$field,$strCondition="",$debug=0)
                {
                // GET data for a single record
                // EXAMPLE: getOne("users","user_fname","id=1")
                        $strCondition=$strCondition=="" ? "" : "where $strCondition";
                        $sql="Select $field as fieldReturn from $tbl $strCondition";
                        if($debug) echo $sql;
                        $rowsReturn = mysql_fetch_array(mysql_query($sql));
              return $rowsReturn["fieldReturn"];
                }
            function getAllRows($sql,$debug=0)
                 {
                        //GET ALL RECORDS based on the $sql statement, return an array
                               if($debug) echo $sql;
                               $result=mysql_query($sql);
                                while($rows = mysql_fetch_array($result))
                                        $rowsReturn[]=$rows;
                                return $rowsReturn;
                 }
                
                 function getRow($sql,$debug=0)
                 {
                        //GET 1 Record base on the $sql statment
                               if($debug) echo $sql;
                                return mysql_fetch_array(mysql_query($sql));
                 }
                function getArray($tbl,$field,$strCondition="",$delimeter="#",$debug=0)
                {
                        //GET a concatenate string with the delimeter
                        // EXAMPLE: getArray("users","user_fname","",",") => John,Mary
                        $strCondition=$strCondition=="" ? "" : "where $strCondition";
                        $sql="Select $field as fieldReturn from $tbl $strCondition ORDER BY $field";
                        if($debug) echo $sql;
                        $result=mysql_query($sql);
                        while($rowsReturn = mysql_fetch_array($result)) $lstReturn.=$rowsReturn["fieldReturn"].$delimeter;
              return "#".$lstReturn;
                }
                function ClsDatabase_die(){ mysql_close(); }
}
 

Mike V

Comments

Comments Useful Snippet
Mon. Oct. 9th, 2006 4:55 PM    Beginner shortkid422
Comments More examples
Tue. Oct. 10th, 2006 12:42 PM    Beginner adorkable81

Voting