ホームページ >バックエンド開発 >PHPチュートリアル >データベースに接続するクラスを作成する方法を見てみましょう。解決

データベースに接続するクラスを作成する方法を見てみましょう。解決

WBOY
WBOYオリジナル
2016-06-13 13:38:09991ブラウズ

データベースに接続するクラスを作成する方法を見てみましょう。
コード 1 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");
}
/ /Complete select
functionexecute_dql($sql){

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

}
//Update を完了
関数execute_dml($sql){

$b=mysql_query($sql,$this->conn);

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

return 1;//Chen Gong を示します
}else {
return 2;//行数は影響を受けません
}
}

}

}


?>






コード 2 mysql.php


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

require_once "SqlTool.class.php";

$sql="select * from user1";
$sqlTool=new SqlTool();
/ /関数 SqlTooL を呼び出さずにオブジェクトを作成してデータベースに接続する方法
$res=$sqlTool->execute_dql($sql);//直接実行できますかデータベースを操作するには、execute_dql を呼び出しますか?
while ($row=mysql_fetch_row($res)){
foreach($row as $key=>$val){
echo "--$val";
}
echo "
";
}




?>コード 2 で、オブジェクトの作成時に問題が見つかりましたが、その方法関数 SqlTooL を呼び出さずにオブジェクトを作成してデータベースに接続する


------解決策------ - -
SqlTool クラスの SqlTool メソッドはそのコンストラクターです。
マニュアルからの抜粋:
下位互換性のために、PHP 5 がクラス内で __construct() 関数を見つけられない場合、古いスタイルのコンストラクターを見つけようとします。クラスと同じ名前。
このクラスは良くなく、時代遅れであることがわかります
http://php.net/manual/zh/ language.oop5.decon.php

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。