建立一个连接是Web查询数据库第二个基本步骤。PHP为连接MySQL提供了函数库。这个函数库是mysqli(i表示改进)。当在PHP中使用mysqli函数库时,你可以使用面向对象或面向过程的语法。
建立一个连接是Web查询数据库第二个基本步骤。
PHP为连接MySQL提供了函数库。这个函数库是mysqli(i表示改进)。当在PHP中使用mysqli函数库时,你可以使用面向对象或面向过程的语法。
在脚本中,我们使用如下语句连接MySQL服务器:
@ $db = new mysqli(’ localhost’ , ‘bookorama’ , ‘bookorama123’ , ’books’);
以上代码实例化了mysqli类并且创建到了主机localhost的连接,该连接使用的用户名和密码分别是:bookorama和bookorama123.该连接被设置成使用books数据库。
使用这种面向对象的方法,可以调用这个对象的方法来访问的数据库。如果你喜欢过程方法,mysqli也提供了这个选项。要以这种面向过程的方式连接,可以使用如下语句:
@ $db =mysqli-connect(’localhost’ , ’bookorama’ , ‘bookorama123’ , ‘books’);这个函数将返回一个资源,而不是一个对象。这个资源表示到数据库的连接,而且如果使用过程方法,必须将这个资源传递到mysqli的所有其他函数。这与文件处理函数非常类似,例如fopen()的工作方式。
Mysqli的大多数函数都有面向对象接口和过程接口。通常,二者的差异在于过程版本的函数名称是以mysqli-开始的,同时要求传入通过mysqli-connect()函数获得的资源句柄。对这个规则来说,数据库连接是一个一个异常,因为它是由mysqli对象的构造函数来创建的。
尝试连接的结果需要进行检查,因为其他代码都无法在没有有效的数据库连接的情况下工作。可以使用如下代码:
If(mysqli-connect-errno()){
echo ‘Error: could not connet to database. Please try again later.’;
exit;
}
(以上代码在面向对象版本和过程版本中相同。)mysqli-coonet-errno()函数将在出现连接错误时返回一个错误号,如果成功,则返回0.
请注意,当连接到数据库时,我们通常会以错误抑制操作符@作为第一行代码。这样,可以很巧妙地处理任何错误。
请记住,MySQL对同时连接数据库的连接数量有一定的限制。MySQL参数max-connetions决定了同时连接的个数,该参数和相关的Apache参数MaxClients的作用是,高诉服务器拒绝新的连接请求,从而确保系统资源不会在系统忙碌的时候,或软件瘫痪的时候被请求和使用。
可以通过修改配置文件来改变这两个参数的默认值。要设置Apache中的MaxClients参数,可以编辑系统中的httpd.conf文件。腰围MySQL设置max-connetions参数,可以编辑文件my.conf。