2013年4月9日星期二

第一次独立实现了一个类

前几天学习php连接mysql,老师讲到用对象的方式来实现数据库操作.当时觉得学的挺明白的,立即开始自己写,结果,思路完全错误,根本就不能达到要求.

后来想到我要写一个系统,就必须用到mysql,而把php连接数据库的操作对象化,会简化很多操作,于是今天又写了一次,最后居然成功了.

不过后来发现,原来mysqli早就已经实现了对象化,并且功能还很完善.

==========下面发代码===========



<?php
    
//创建一个sql工具,用户有mysql的服务器地址,用户名,密码,数据库名,即可进行增,删,查,改等操作.
    
class SQLTool{
        public 
$host;
        public 
$usename;
        public 
$passwd;
        public 
$db;
        public 
$conn null;
      
        
//定义构造函数
        
public function __construct($ihost,$iusename,$ipasswd,$idb){
            
$this->host=$ihost;
            
$this->usename=$iusename;
            
$this->passwd=$ipasswd;
            
$this->db=$idb;
      
            
//连接数据库管理系统
            
$this->conn =mysql_connect($ihost,$iusename,$ipasswd);
            if(!
$this->conn){
                die(
"数据库连接失败!错误信息如下:".mysql_error());
            }
  
            
//use数据库
            
mysql_query("use `$idb`",$this->conn) or die("使用数据库失败".mysql_error());
        }

        
//传入$sql,操作数据库,增,删,改,不返回数据,只返回操作结果
        
public function zsg($sql){
            
$res=mysql_query($sql) or die ("操作数据库失败".mysql_error());
            
$affected_rows=mysql_affected_rows($this->conn);
          
            echo 
"成功操作" $affected_rows "行.";
        }

        
//传入$sql,操作数据库,查询等有返回数据的
        
public function search($sql){
            
$res=mysql_query($sql) or die ("操作数据库失败".mysql_error());  //接收$sql的结果集
            //var_dump($res);
            
$rows=mysql_num_rows($res);         //取得结果集的行数
            
$colums=mysql_num_fields($res);  //取得结果集的列数
          
            //以表格的方式 打印返回结果
            
echo "<table border=1px><tr>";
            
//表头
            
for($i=0;$i<$colums;$i++){
                
$col=mysql_field_name($res,$i);  //取得结果集中 指定的字段
                
echo "<th>".$col."</th>" ;
            }
            echo 
"<tr/>";
            
//表体
            
while($row=mysql_fetch_row($res)){    //逐行读取结果集
                
echo "<tr>";
                for(
$i=0;$i<$colums;$i++){
                    echo 
"<td>".$row[$i]."</td>";  //显示结果集
                
}
                echo 
"</tr>";
            }
            echo 
"</table>";
          
            
//释放资源
            
mysql_free_result($res);

        }
    }

    
$sqltool=new SQLTool("localhost","root","123456","user");
    
//$sql="insert into contacts value(null,'zaza','218320302','海淀区中关村','','','')";
    
$sql="delete from contacts where id=21";
    
//$sql="update contacts set name='uu' where id=18";
    //$sqltool->search($sql);
    
$sqltool->zsg($sql);
 ?>

没有评论:

发表评论