Heim >Backend-Entwicklung >PHP-Tutorial >创建类的方法来连接数据库,大家来看看。解决办法

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

WBOY
WBOYOriginal
2016-06-13 10:15:101032Durchsuche

创建类的方法来连接数据库,大家来看看。
代码一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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn