Jay Moore wrote:
This is a MySQL class I use and I wanted to get everyone's thoughts on how/if I can improve it. This is for MySQL only. I don't need to make it compatible with other databases. I'm curious what you all think.

Thanks,
Jay

Class:
------
<?php

// Standard MySQL class
class do_mysql
{ // Constructor
    function __construct()
    {
        $this->do_mysql();
    }
// Destructor
    function __destruct()
    {
        //$this->close();
    }
function do_mysql()
    {
        $this->login = '';
        $this->pass = '';
$this->link = @mysql_connect('localhost', $this->login, $this->pass) or die('Could not connect to the database.');
    } // End do_mysql

// Functions function close()
    {
        if ($this->link)
        {
            mysql_close($this->link);
            unset($this->link);
        }
    } // End close
function fetch_array()
    {
        return mysql_fetch_array($this->result);
    } // End fetch_array
function last_id()
    {
        return mysql_insert_id($this->link);
    } // End last_id
function num_rows()
    {
        return mysql_num_rows($this->result);
    } // End num_rows
function process($database = '')
    {
        if (is_null($this->query))
        {
            die('Error:  Query string empty.  Cannot proceed.');
        }
$this->db = @mysql_select_db($database, $this->link) or die("Database Error: Couldn't select $database <br />" . mysql_error()); $this->result = @mysql_query($this->query, $this->link) or die('Database Error: Couldn\'t query. <br />' . mysql_error() . "<br /><br /> $this->query");
    } // End process
function sanitize(&$ref)
    {
        $ref = mysql_real_escape_string($ref);
    } // End sanitize
} // End do_mysql

?>


Sample usage:
$value = 'value';
$sql = new do_mysql();
$sql->sanitize($value);
$sql->query = "SELECT * FROM `wherever` WHERE `field` = '$value'";
$sql->process('dbname');
$sql->close();

if ($sql->num_rows())
{
    while ($row = $sql->fetch_array())
    {
        do stuff;
    }
}

I think I'd use one of 20+ Pear classes. They are pretty throughly tested because of the thousands of users.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to