写了个简单的Mysql类,大家有兴趣看一下

写了个简单的Mysql类,大家有兴趣看一下

数据库定义:
test数据库下test表:
create table test(
id int(5) not null primary key auto_increment,
name varchar(8) not null,
varchar(2) not null,
age int(2) not null,
);

只是随便定义个表,不太规范,嘿嘿!

MySQL类定义如下:


<?php
class mysql
{   
        var $link;
        var $insert_re;
        var $get_val;
        function conn_mysql($host,$user,$pass)
        {
                $a=mysql_pconnect($host,$user,$pass) or die("unable conn MySQL");
                $this->link=$a;
        }

        function select_db($dbname)
        {
                mysql_select_db($dbname) or die("unbale select database!");
        }

        function insert($tbname,$cell,$val)
        {
                if($cell=="" or !isset($cell) or $cell==1)
                {
                        $sql="insert into ".$tbname." values(".$val.")";
                        $re=mysql_query($sql);
                        $this->insert_re=$re;
                }
                else
                {
                        $sql="insert into ".$tbname."(".$cell.") values(".$val.")";
                        $re=mysql_query($sql);
                        $this->insert_re=$re;
                }
        }

        function get_values($tbname,$cell,$where)
        {
                unset($this->get_val);     //格式化get_val;

                if($cell==1)
                {
                        if($where==1)  //没有控制条件时
                        {
                                $sql="select * from ".$tbname;
                                $re=mysql_query($sql);
                                while($row=mysql_fetch_row($re))
                                {
                                        foreach($row as $key=>$val)
                                        {
                                                $this->get_val[]=$val;
                                        }
                                }
                        }
                       
                        else
                        {
                                $sql="select * from ".$tbname." where ".$where;  //有控制条件时
                                $re=mysql_query($sql);
                                while($row=mysql_fetch_row($re))
                                {
                                        foreach($row as $key=>$val)
                                        {
                                                $this->get_val[]=$val;
                                        }
                                }
                        }
                }

                else
                {
                        if($where==1)  //没有控制条件时
                        {
                                $sql="select ".$cell." from ".$tbname;
                                $re=mysql_query($sql);
                                while($row=mysql_fetch_row($re))
                                {
                                        foreach($row as $key=>$val)
                                        {
                                                $this->get_val[]=$val;
                                        }
                                }
                        }
                       
                        else
                        {
                                $sql="select ".$cell." from ".$tbname." where ".$where;  //有控制条件时
                                $re=mysql_query($sql);
                                while($row=mysql_fetch_row($re))
                                {
                                        foreach($row as $key=>$val)
                                        {
                                                $this->get_val[]=$val;
                                        }
                                }
                        }
                }
        }

}
?>


综合实例:

<?php
include("mysql.inc");
$sql=new mysql;
$sql->conn_mysql("localhost","root","123");
$sql->select_db("test");
$sql->insert("test","name,,age","'dx_andy','男',23");
$sql->get_values("test","name","name='小'");
if(isset($sql->get_val))
{
        print_r($sql->get_val);
}
else echo "对不起,数据库中没有此数据";
echo "<br>";
$sql->get_values("test",1,1);
if($sql->get_val)
{
        print_r($sql->get_val);
}
else echo "对不起,数据库中没有此数据";
echo "<br>";
?>


有不懂的地方,大家MM我!

好贴顶一下呀..类还是要向你学习呀...

现学现用,大家一起学习,呵呵!

好复杂...
       努力学习中

你的类这样写感觉着有很大的局限,比如我要想在其他地方用这个类,而且插入的数据和你的表结构不一样,你就不有办法实现了,我想说的是写一个Insert 方法但参数用一个Sql语句这样会更能达到类的提高代码重用的效果!!!!!!!!!呵呵!个人意见@#$
山不过来,我过去。

function insert($tbname,$cell,$val)
        {
                if($cell=="" or !isset($cell) or $cell==1)
                {
                        $sql="insert into ".$tbname." values(".$val.")";
                        $re=mysql_query($sql);
                        $this->insert_re=$re;
                }
                else
                {
                        $sql="insert into ".$tbname."(".$cell.") values(".$val.")";
                        $re=mysql_query($sql);
                        $this->insert_re=$re;
                }
        }
这段代码已经说明了你考虑到的问题:
function insert($tbname,$cell,$val)
$tbname为所要插入到表的名字
$cell为数据插入到的字段
$val为插入的数据

假如有个表名为 user 表中字段为:name age  dat other
如在所有字段插入数据:
insert("user",1,"'dx_andy',23,'男',date('Y-m-j‘),'还没毕业'");
如只在name,和age字段插入数据(假如表允许的话):
insert('user','name,age',“'dx_andy',23”);

这样就可以了,完全不存在表的限制问题!

学习中

学习

我总感觉没有直接写SQL语句更能让人理解一点,我开始没有细看你解释一下看明白了,确实是这样的。但我总觉着没有用Sql语句做参数更方便一些!呵呵!!!!!!!!
山不过来,我过去。

  现在我什么都看不懂。。。。。我一定要努力学习