PHP和MySQL被称为黄金搭档,几乎所有的基于PHP应用的项目都在使用MySQL,在PHP中,连接MySQL数据库十分简单,简单到只需要一个函数函数即可:
mysql_connect($host,$username,$password)
它有三个参数,分别是数据库主机名,数据库用户名,数据库用户密码。

如果我们的数据库在本地,那么数据库主机名可写为127.0.0.1。例如,我们可以使用这个方法连接数据库:
$con=mysql_connect('127.0.0.1','user','123456') or die("服务器连接失败!");  
mysql_select_db('test',$con);  
mysql_query("set names 'gb2312'");  
三行代码就实现了连接MySQL数据库。在上面例子中,mysql_select_db()表示选择数据库,上例表示连接test数据库,其中set names 'gb2312'表示设置数据库读取的编码为gb2312。
如果数据库的用户名和密码错误,页面上自动会提示“服务器连接失败”。

一般的,我们在做OOP的开发当中,习惯上把PHP连接数据库的部分,写在一个单独的类中。例如:
class cls_mysql  
{  
protected $link_id;  
   public function __construct($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'utf8')//构造函数  
   {  
       if(!($this->link_id = mysql_connect($dbhost, $dbuser, $dbpw)))  
       {  
           $this->ErrorMsg("Can't pConnect MySQL Server($dbhost)!");  
       }  
       mysql_query("SET NAMES " . $charset, $this->link_id);//设置编码  
       if ($dbname)  
       {  
           if (mysql_select_db($dbname, $this->link_id) === false )  
           {  
               $this->ErrorMsg("Can't select MySQL database($dbname)!");  
               return false;  
           }  
           else  
           {  
               return true;  
           }  
       }  
   }  
   public function select_database($dbname)//选择数据库  
   {  
       return mysql_select_db($dbname, $this->link_id);  
   }  
   public function fetch_array($query, $result_type = MYSQL_ASSOC)//得到遍历后的数据,是一个数组形式  
   {  
       return mysql_fetch_array($query, $result_type);  
   }  
   public function query($sql)//执行查询  
   {  
       return mysql_query($sql, $this->link_id);  
   }  
   public function affected_rows()//得到影响的记录集数  
   {  
       return mysql_affected_rows($this->link_id);  
   }  
   public function num_rows($query)//获得查询的记录数  
   {  
       return mysql_num_rows($query);  
   }  
   public function insert_id()  
   {  
       return mysql_insert_id($this->link_id);//获得插入的id  
   }  
   public function selectLimit($sql, $num, $start = 0)  
   {  
       if ($start == 0)  
       {  
           $sql .= ' LIMIT ' . $num;  
       }  
       else  
       {  
           $sql .= ' LIMIT ' . $start . ', ' . $num;  
       }  
       return $this->query($sql);  
   }  
   public function getOne($sql, $limited = false)//获取一条记录  
   {  
       if ($limited == true)  
       {  
           $sql = trim($sql . ' LIMIT 1');  
       }  
       $res = $this->query($sql);  
       if ($res !== false)  
       {  
           $row = mysql_fetch_row($res);  
           return $row[0];  
       }  
       else  
       {  
           return false;  
       }  
   }  
   public function getrow($sql)  
   {  
       $res = $this->query($sql);  
       if ($res !== false)  
       {  
           return mysql_fetch_assoc($res);  
       }  
       else  
       {  
           return false;  
       }  
   }  
   public function getAll($sql)  
   {  
       $res = $this->query($sql);  
       if ($res !== false)  
       {  
           $arr = array();  
           while ($row = mysql_fetch_assoc($res))  
           {  
               $arr[] = $row;  
           }  
           return $arr;  
       }  
       else  
       {  
           return false;  
       }  
   }  
   function ErrorMsg($message = '', $sql = '')  
   {  
       if ($message)  
       {  
           echo "<b>error info</b>: $message\n\n";  
       }  
       else  
       {  
           echo "<b>MySQL server error report:";  
           print_r($this->error_message);  
       }  
       exit;  
   }      
}