Home  >  Article  >  Backend Development  >  创建类的方法来连接数据库,大家来看看。解决办法

创建类的方法来连接数据库,大家来看看。解决办法

WBOY
WBOYOriginal
2016-06-13 10:15:101005browse

创建类的方法来连接数据库,大家来看看。
代码一mysql.class.php

 class SqlTool {
 private $conn;
 private $host="127.0.0.1";
 private $user="root";
 private $password="5200";
 private $db="test";

function SqlTool(){
 $this->conn=mysql_connect($this->host,$this->user,$this->password);
 if(!$this->conn){
  die("连接数据库失败".mysql_error());
 }
 mysql_select_db($this->db,$this->conn);
 mysql_query("set names utf8");
 }
//完成select
function execute_dql($sql){

$res=mysql_query($sql);
return $res;

}
//完成update
function execute_dml($sql){
   
$b=mysql_query($sql,$this->conn);

if(!$b){
  return 0;//失败
}else {
  if(mysql_affected_rows($this->conn)>0){

return 1;//表示陈功
}else {
return 2;//没有影响到行数
}
}

}

}


?>






代码二mysql.php


header("content-type:text/html;charset=utf-8");

require_once "SqlTool.class.php";

$sql="select * from user1";
$sqlTool=new SqlTool();
//创建对象怎么不需要用调用fuction SqlTooL来连接数据库
$res=$sqlTool->execute_dql($sql);//直接调用execute_dql就可以操作数据库了?
while ($row=mysql_fetch_row($res)){
 foreach($row as $key=>$val){
  echo "--$val";
 }
 echo "
";
}




?>在代码二中,我发现了问题,创建一个对象,但是创建对象怎么不需要用调用fuction SqlTooL来连接数据库


------解决方案--------------------
SqlTool类的SqlTool方法是它的构造函数。
摘自手册上的说明:
为了实现向后兼容性,如果 PHP 5 在类中找不到 __construct() 函数,它就会尝试寻找旧式的构造函数,也就是和类同名的函数。
可见,这个类并不咋滴,老掉牙了
http://php.net/manual/zh/language.oop5.decon.php

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn