1.1.2 mysql_pconnect函数:打开MySQL服务器的持久连接
【功能说明】
该函数将打开一个到MySQL服务器的持久性连接。如果连接成功将返回一个持久性连接的标识符,如果连接失败将返回FALSE。
该函数打开到MySQL服务器的连接是持久性的,而要想打开一个非持久性的连接,就要使用函数mysql_pconnect()。该函数和函数mysql_connect()的用法很相似。该函数有以下三个主要特点。
■ 当使用该函数连接MySQL服务器时,PHP机制会先去寻找之前是否用该用户名和密码连接过同一台服务器,如果连接过,则返回之前连接的持久性的连接标识。如果没有连接过,则尝试打开一个新的连接。
■ 使用该函数打开到MySQL服务器的连接后,该连接通道不会被MySQL服务器关闭,就连函数mysql_close()也无法关闭此连接。打开的连接是持久的,以备以后之用。
■ 使用该函数建立持久性连接,需要修改Apache和MySQL的配置,主要作用是防止超过连接到同一MySQL服务器的连接数目。
【函数语法】
resource mysql_pconnect([string server[,string username [,string password[,bool new_link[,int client_flags]]]]])
该函数的语法说明和函数mysql_connect()很相似,请参见mysql_connect()函数的函数语法。该函数的返回值为resource。
【示例程序】下面使用了本例函数打开一个到MySQL服务器的持久性连接。代码如下:
<?php //打开一个持久的MySQL服务器的连接 $link=mysql_pconnect("localhost","admin","123456")or die("connection error: " . mysql_error()); echo $link; //输出连接后返回的持久性标识符 mysql_close($link); //关闭打开的连接通道 ?>
以上代码的运行结果如图1.2所示。
图1.2 运行结果
上述代码中,$link = mysql_pconnect("localhost", "admin","123456")or die("connection error: " . mysql_error());指定打开本地的MySQL服务器,使用的用户名是"admin",密码是"123456"。如果连接失败将终止以下脚本程序的运行,并返回错误的信息。上面返回的结果是一个错误的信息,connection error:Access denied for user ‘admin’@’localhost’ (using password:YES),从这可以看到:MySQL服务器拒绝了用户是"admin"的访问,说明代码中指定的用户名是错误的,而指定的密码是正确的。