Mysql教程

20.1 PHP连接MySQL数据库

PHP可以通过mysql接口或者mysqli接口来访问MySQL数据库。如果希望正常的使用PHP,那么需要适当的配置PHP与Apache服务器。同时,PHP中加入了 mysql接口和mysqli接口后,才能够顺利的访问MySQL数据库。本节将为读者介绍PHP连接MySQL 数据库的方法。

20.1.1 Windows操作系统下配置PHP

如果用户还没有安装PHP,可以在http://www.php.net/downloads.php中下载PHP。 Windows操作系统下推荐下载PHP 5.2.11 zip package。

说明:Windows操作系统下,最好下载Zip包的PHP软件。这种形式的PHP软件包解压后就可以使用,不需要进行安装。如果下载的是PHP 5.2.11 installer,安装后需要使用IIS来做Web服务器。本章使用的Apache做Web服务器,因此推荐使用Zip包。

在Windows操作系统中,将PHP的软件包解压到C:\php目录下。需要在Apache服务器的配置文件httpd.conf中添加一些信息。Apache服务器的默认路径为C:\Program Files\Apache Software Foundation\Apache2.2。httpd.conf文件在 Apache 服务器目录下的conf文件夹中。在httpd.conf中加入下面的信息:

LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php

然后将C:\php目录下的php.ini.recommended文件复制到C:WINDOWS目录下,并改名为php.ini。在php.ini文件中添加卜面的信息:

extension_dir="C:/php/ext"
extension=php_mysql.dll
extension=php_mysqli.dll

如果php.imi中有“extension=./”,直接将等号后面的值修改为上面的路径。如果存在 uextension=php_mysql.dll7>和 “extension=php_mysqli.dll”,而且前面有分号(;),那么将分号去掉即可。因为,在php.ini中,分号用来表示后面的信息是注释。

然后将C:\php\libmysql.dll文件复制到CVMNDOWS文件夹下。这一切都准备好了以后,即可在Apache服务器的安装目录下的htdocs目录下新建test.php文件。在该文件中输入下面的信息:

<?php phpinfo(); ?>

单击【所有程序】|Apache HTTP Server 2.2|Control Apache Server|Restart 选项重启Apache服务器。在Web浏览器的地址栏中输入 http://localhost/test.php,如果上面的配置都生效的话,会出现如下图所示的页面。


从图中可以看到,当前的PHP版本(Version)是5.3.5。除此之外,test.php2显示PHP的很多信息。由此可以知道,phpinf0()函数的作用是获取PHP的信息。

注意:上图中,ConfigurationFile(php.ini)Path的值为C:\WINDOWS,这表示配置文件 php.ini 的默认存放位置是 C:\WINDOWS。Loaded Configuration File 的值为C:\WINDOWS\php.ini,这表示系统从C:\WINDOWS目录下的php.ini文件中加载PHP的配置文件。

如果mysql接口和mysqli接口已经配置好了,在本页面的下面就有mysql接口和mysqli的接口信息。

20.1.2 Linux操作系统下配置PHP

Linux操作系统下推荐下载PHP 5.2.11 (tar.gz)。下载网址为 http://www.php.net/downloads.php。下载完成后将php-5.2.11 .tar.gz复制到/usr/local/src目录下,然后在该目录下解压和安装php。假设新下载的php软件包存储在/home/hjh/download目录下。使用下面的语句来安装php:

shell> cp/home/hjh/download/php-5.2.11.tar.gz /usr/local/src/
//将php-5.2.11.tar.gz复制到/usr/local/src/目录下
shell> cd /usr/local/src/ //将目录切换到 /usr/local/src/下
shell> tar -xzvf php-5.2.11	//解压 tar.gz 压缩包
shell> cd php-5.2.11	//将目录切换到 php-5.2.11下
//设置编译选项,通过-prefix、-with-mysqli 等选项来进行设置
shell> ./configure -prefix=/usr/local/php --with-mysql=/usr/local --with-mysqli=/usr/bin/ mysql_config
shell> make	//开始编译
shell> make install	//进行安装
shell> make clean	//清除编译结果

通过上述命令,PHP就安装好了。其中,configure命令后面的跟着--prefix,--with_mysql,--with_mysqli这几个参数。这儿个参数的含义介绍如下:

  • --prefix:设置安装路径-此处设置PHP的安装路径为/user/local/php目录下

  • -with_mysql: PHP中添加传统的mysql接口。其后面的值是MySQL的安装路径

  • --with_mysqkli:PHP中添加mysqli接口

除了这些参数以外,configure还有其他的参数,读者可通过“./configure--help”来查看。读者可以根据自己的需要增加相应的选项。

PHP安装完成后,幵始配置Apache服务器的httpd.conf文件。假设Apache服务器安装在/usr/local/apache目录下,那么 httpd.conf 就应该在/usr/local/apache/conf 目录下。使用vi工具打幵httpd.conf,在其中加入下面的信息:

LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php.php

然后重新启动Apache服务器。命令如下:

shell> /etc/init.d/httpd restart

为了测试PHP是否已经安装成功,可以在var/www/html目录下创建test.php文件,其内容如下:

<?php phpinfo(); ?>

然后,在Web浏览器中输入http://localhost/test.php。如果能够显示图20.1的内容,则表示PHP己经安装成功。

20.1.3 连接MySQL数据库

PHP可以通过mysql接口来连接MySQL数据库,也可以通过mysqli接口来连接MySQL数据库。下面对这两种方法都进行简单地介绍。

mysql接口提供mysql_conect()方法来连接MySQL数据库,mysql_conect()函数的使用方法如下:

$connection=mysql_connect("host/IP","usemame","password");

其中,host/IP参数表示主机名或者IP地址;username参数表示登录MySQL数据库的用户名;“password”参数表示登录密码。mysql_conect()函数还可以指定登录到哪一个数据库,语句如下:

$connection=mysql_connect("host/IP","username","password","database");

其中,database参数指定登录到哪一个数据库中。

mysqli接口下有两个比较常用的类,分别是mysqli和mysqli_result。mysqli主要用于与MySQL数据库建立连接,其中的QUERY()方法用来执行SQL语句。MYSQLI_RESULT他主要用于处理SELECT语句的查询结果。下面是使用mysqli接口来连接MySQL数据库的语句:

$connection=new mysqli("host/IP","username","password","database");

其中,host/IP参数表示主机名或者IP地址;usemame参数表示登录MySQL数据库的 用户名;password参数表示登录密码;database参数指定连接到哪一个数据库。因为,mysqli接口提供了更多的函数,而且功能比mysql接口强大,所以本章后面都是使用mysqli接口。

技巧:mysqli接口提供了一些获取出错信息的函数。mysqli_connect_erron()函数可以判断PHP连接MySQL数据库时是否出错。如果出错,该函数返回TRUE。 mysqli_connect_error()函数将返回出错信息。如果连接MySQL后,可以通过select_db()函数选择数据库。还可以通过get_client__info()、get_server_info()等函数获取MySQL的信息。

【示例20-1】下面是连接本地计算机MySQL数据库,使用root用户来连接,其密码是huang。连接MySQL的语句如下:

<?php
$connection=new mysqli("localhost", "root' "huang", "test");
if(mysqli_connect_errno()) {
echo "<p>连接失败:",mysqli_connect_error(),"</p>\n";
exit();
}0
else{
echo ”<p>连接成功</p>\n”;
}
?>

mysqli_connect_errno()函数用来判断连接MySQL的过程中是否发生错误。如果发生错误,则返回true。如果没有发生错误,则返回false。mysqli_connect_error()函数用来获取连接MySQL时出现的错误信息。

关注微信获取最新动态