mysql面向对象例子_PHP 面向对象实例:获取数据库用户数据

先写一个数据库配置文件如下:

db_config.php

// 数据库配置文件, db_config.php

$db_server = "localhost";

$db_user = "root";

$db_pwd = "123";

$db_name = "nowamgic";

?>

我们先写一个纯粹面向过程的方式来读取数据库中的用户信息。

viewuser_mysql.php <?php

// viewuser_mysql.php

require_once("db_config.php"); //包含配置文件.

$sql = "select * from e_user where username='Jack' ";

$conn = mysql_pconnect($db_server, $db_user, $db_pwd);//建立mysql连接

$my_db = mysql_select_db($db_name,$conn);//选择数据库

$result = mysql_query($sql, $conn); // 执行查询语句

$userInfo = mysql_fetch_array($result); //返回查询结果到数组

mysql_close($conn); //关闭数据库连接

$username = $userInfo["username"]; //将数据从数组取出

$userpsw = $userInfo["userpsw"];

$userage = $userInfo["userage"];

$usergrade = $userInfo["usergrade"];

echo "your name is ".$username."
"; //输出数据

echo "your pass word is ".$userpsw."
" ;

echo "your age is ".$userage."
" ;

echo "your grade is ".$usergrade."
" ;

?>

这个思维模式我们太熟悉不过了。

1.读取配置文件中的数据库参数。

2.建立数据库连接。

3.选择数据库。

4.执行sql语句。

5.将数据返回给数组。

6.将每个数据内容取出。

7.将信息显示。

现在我们写一个面向对象的取数据库信息的内容。

class_user.php

// class_user.php

class UserInfo{

private $userName; //属性,用户名

private $userPSW ; //属性,用户密码

private $userAge ; //属性,用户年龄

private $userGrade ; //属性,用户级别

private $userInfo; //存储数据库返回信息的数组变量.

public function __construct($name){

require_once("db_config.php"); //包含配置信息.

$sql = "select * from e_user where username='$name' "; //书写sql

$conn = mysql_pconnect($db_server, $db_user, $db_pwd);//建立mysql连接

$my_db = mysql_select_db($db_name,$conn);//选择数据库

$result = mysql_query($sql, $conn); // 执行查询语句

$this->userInfo = mysql_fetch_array($result); //返回查询结果到数组

mysql_close($conn); //关闭数据库连接

$this->getInfo(); //调用传递信息的方法.

}

// 获取信息传递给属性的方法

private function getInfo(){

$this->userName = $this->userInfo["username"];

$this->userPSW = $this->userInfo["userpsw"];

$this->userAge = $this->userInfo["userage"];

$this->userGrade = $this->userInfo["usergrade"];

}

//返回每个属性的public 方法.

public function getUserName(){

return $this->userName;

}

public function getUserPSW(){

return $this->userPSW;

}

public function getUserAge(){

return $this->userAge;

}

public function getUserGrade(){

return $this->userGrade;

}

}

?>

写class好像麻烦了些,但优点是结构清晰、扩展、重用和维护方便。

使用这个类非常复合我们看世界的眼光。

现在我们再做一次上帝,follow me。

一个典型的面向对象的案例。

大象放进冰箱里需要几步?

1.打开冰箱门。

2.大象放进去。

3.关上冰箱门。

显示用户Tom的信息需要几步?

1.创建 Tom 出来。

2.让这个Tom告诉我们关于他的信息内容。

3.显示这些信息。

viewuser.php //viewuser.php

require_once("class_user.php");

$user = new UserInfo("Tom"); //创建一个user对象.

$username = $user->getUserName(); //分别调用方法取得数据

$userpsw = $user->getUserPSW();

$userage = $user->getUserAge();

$usergrade = $user->getUserGrade();

echo "your name is ".$username."
"; //输出数据

echo "your password is ".$userpsw."
" ;

echo "your age is ".$userage."
" ;

echo "your grade is ".$usergrade."
" ;

?>

Tom这个对象是如何创建的?创建时候做了什么?从那个服务器读取的?

从那个数据库读取的?从那个表单读取的?Tom的信息是如何读取的?

这些问题,在这里我们不需要再考虑。写刚才那个user类的时候,已经考虑过了。

使用这个对象,就像使用家里的冰箱和微波炉一样方便、自然。

把Tom换成换成jack试试?

那现在,你愿意使用流水账一样的方式写代码,还是更自然的面向对象呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值