標籤:
1、當 函數 mysql_connect 的前三個參數(server username password)相同,並且第四個參數(new_link)不傳遞時候,重複調用 mysql_connect 是會返回相同的串連。
php代碼
<?php$db = mysql_connect(‘localhost‘,‘root‘,‘root‘);var_dump($db);$db2 = mysql_connect(‘localhost‘,‘root‘,‘root‘);var_dump($db2);sleep(10);
頁面列印資訊
resource(3) of type (mysql link) resource(3) of type (mysql link)
mysql串連數
mysql> show full processlist;+----+------+-----------------+------+---------+------+-------+-----------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+------+---------+------+-------+-----------------------+| 32 | root | localhost:54408 | NULL | Query | 0 | NULL | show full processlist || 44 | root | localhost:55278 | NULL | Sleep | 3 | | NULL |+----+------+-----------------+------+---------+------+-------+-----------------------+2 rows in set
2、當函數 mysql_connect 傳遞了第四個參數(new_link)後,再重複調用它。
php代碼
<?php$db = mysql_connect(‘localhost‘,‘root‘,‘root‘,1);var_dump($db);$db2 = mysql_connect(‘localhost‘,‘root‘,‘root‘,1);var_dump($db2);sleep(10);
頁面列印資訊
resource(3) of type (mysql link) resource(5) of type (mysql link)
mysql串連數
mysql> show full processlist;+----+------+-----------------+------+---------+------+-------+-----------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+------+---------+------+-------+-----------------------+| 32 | root | localhost:54408 | NULL | Query | 0 | NULL | show full processlist || 45 | root | localhost:55320 | NULL | Sleep | 4 | | NULL || 46 | root | localhost:55321 | NULL | Sleep | 4 | | NULL |+----+------+-----------------+------+---------+------+-------+-----------------------+
3、mysql_pconnect 持久串連
php代碼
<?php$db = mysql_pconnect(‘localhost‘,‘root‘,‘root‘);var_dump($db);$db2 = mysql_pconnect(‘localhost‘,‘root‘,‘root‘);var_dump($db2);
頁面列印資訊
resource(3) of type (mysql link persistent) resource(4) of type (mysql link persistent)
mysql串連數
mysql> show full processlist;+----+------+-----------------+------+---------+------+-------+-----------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+------+---------+------+-------+-----------------------+| 1 | root | localhost:55391 | NULL | Query | 0 | NULL | show full processlist || 2 | root | localhost:55393 | NULL | Sleep | 5 | | NULL |+----+------+-----------------+------+---------+------+-------+-----------------------+
4、mysql_pconnect 加上第四個參數(new_link)即可 建立多個 持久串連
php代碼
<?php$db = mysql_pconnect(‘localhost‘,‘root‘,‘root‘,1);var_dump($db);$db2 = mysql_pconnect(‘localhost‘,‘root‘,‘root‘,1);var_dump($db2);
頁面列印資訊
resource(3) of type (mysql link persistent) resource(4) of type (mysql link persistent)
mysql串連數
mysql> show full processlist;+----+------+-----------------+------+---------+------+-------+-----------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+------+---------+------+-------+-----------------------+| 1 | root | localhost:55391 | NULL | Query | 0 | NULL | show full processlist || 2 | root | localhost:55393 | NULL | Sleep | 316 | | NULL || 3 | root | localhost:55418 | NULL | Sleep | 4 | | NULL |+----+------+-----------------+------+---------+------+-------+-----------------------+3 rows in set
5、總結:
函數 mysql_pconnetc 建立的 持久化串連 在php指令碼結束後,mysql的串連並不會立即結束。什麼時候結束,是由mysql自己管理。函數 mysql_colse 不能關閉 mysql_pconnetc 的串連。
函數 mysql_connetc 建立的 串連 在php指令碼結束後,mysql的串連也會相應結束。
php關於mysql長串連問題