ホームページ >バックエンド開発 >PHPチュートリアル >php mysql に関連する問題。データベース接続がデストラクターを正常に実行した後、次のコードが実行されないのはなぜですか?
php mysql の問題。データベース接続でデストラクターが正常に実行された後、次のコードが実行されないのはなぜですか?
/*
* クラス mysql
*/
クラスmysql_class
{
パブリック $host;
パブリック $root;
パブリック $passwd;
パブリック $database;
パブリック $ut;
パブリック $link;
////構築
function __construct($host,$root,$passwd,$database,$ut)
{
$this->host = $host;
$this->root = $root;
$this->passwd = $passwd;
$this->database = $database;
$this->ut = $ut;
$this->connect();
}
////破壊
関数 __destruct()
{
echo $this->link;
mysql_close($this->link);
echo "destruct
";
}
////mysql 接続
関数 connect()
{
$this->link = mysql_connect($this->host,$this->root,$this->passwd);
if(!$this->リンク)
{
die("接続できませんでした".mysql_error()."
");
}
他 {
echo "接続が成功しました
";
}
mysql_select_db($this->database,$this->link) または die("データベースがありません:".$this->database."
");
mysql_query("SET NAME 'UTF8'");
}
}
////次のtest1を実行します
////または次の test2
を実行します
?>
test1 を実行: コード
////test1
$ms = new mysql_class("localhost","admin","admin","php1000","UTF8");
$ms = null;
echo '
mysqlclass end==
';
$con = mysql_connect ( "localhost", "admin", "admin" );
if (! $con) {
die ( '接続できませんでした: ' .mysql_error () );
}
それ以外{
echo "
11接続に成功しました";
}
echo $con."==con
";
// コード...
mysql_close($con);
//test1 の結果は次のとおりです: (結果に 11connect success Resource id #3==con の出力がないのはなぜですか)
接続成功
データベースなし:php1000
リソースID #3destruct
test2 を実行します:
////test2 コード
$con = mysql_connect ( "localhost", "admin", "admin" );
if (! $con) {
die ( '接続できませんでした: ' .mysql_error () );
}
それ以外{
echo "
11接続成功
";
}
echo $con."==con
";
// コード...
mysql_close($con);
$ms = new mysql_class("localhost","admin","admin","php1000","UTF8");
$ms = null;
echo '
mysqlclass end==
';
//test2 の結果:
11接続成功
リソース ID #3==con
接続成功
データベースなし:php1000
リソースID #5destruct