重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。
成都创新互联公司主要从事成都网站制作、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务双桥,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
在一些PHP管理系统需要开启PDO和PDO_MySQL扩展,方法很简单:
1、找到php.ini文件
2、打开后,搜索 extension=php_pdo.dll 和 extension=php_pdo_mysql.dll ,去掉前面“;”的注释。
最终这两行配置内容如下:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
重新启动apache或者iis后,在phpinfo函数中查看,是否开启。
开启这个功能的具体方法就是设置php.ini文件,步骤如下: 1、查看public_html目录下没有php.ini文件,如果有的, 打开文件查找 extension=php_pdo_mysql.dll extension=php_pdo.dll 把前面的分号去掉,然后保存文件。 2、如果没有,就新建一个文件php.in 把下面两行添加进去 extension=pdo.so extension=pdo_mysql.so 注意:php.ini文件需要放到相应的目录下,比如另外绑定的域名则需要将php.ini文件放到相应的子目录下。 总体原则就是哪个目录需要就把php.ini文件放到那个目录下。
在mysql数据库中,创建一个test数据库,用于测试。
请点击输入图片描述
新建一个php文件,命名为test.php,用于讲解php如何选择要操作的数据库。
请点击输入图片描述
在test.php文件中,使用header()方法将页面的编码格式设置为utf-8,避免输出中文乱码。
请点击输入图片描述
在test.php文件中,使用mysql_connect()函数,通过账号和密码创建一个数据库的连接。
请点击输入图片描述
在test.php文件中,再使用mysql_select_db()函数选择要操作的数据库test,选择数据库成功,则返回true,否则,返回false。最后,通过if语句判断结果。
请点击输入图片描述
在浏览器打开test.php文件,查看结果。
请点击输入图片描述
END
总结:
1、创建一个test数据库。
2、使用mysql_connect()函数创建一个数据库的连接。
3、再使用mysql_select_db()函数选择要操作的数据库test,并通过if语句判断结果。
需要开通php的以下模块(mysql为例):
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
Mysqli是php5之后才有的功能,没有开启扩展的朋友可以打开您的php.ini的配置文件。
查找下面的语句:;extension=php_mysqli.dll将其修改为:extension=php_mysqli.dll即可。
相对于mysql有很多新的特性和优势
(1)支持本地绑定、准备(prepare)等语法
(2)执行sql语句的错误代码
(3)同时执行多个sql
(4)另外提供了面向对象的调用接口的方法。
下面一一用php实例进行mysqli数据库连接!
使用方法一:使用传统的面向过程的方法
php代码如下:
?php
$connect = mysqli_connect('localhost','root','','volunteer') or die('Unale to connect');
$sql = "select * from vol_msg";
$result = mysqli_query($connect,$sql);
while($row = mysqli_fetch_row($result)){
echo $row[0];
}
?
使用方法二:使用面向对象的方法调用接口(推荐使用)
看php代码如下:
复制代码 代码如下:
?php
//创建对象并打开连接,最后一个参数是选择的数据库名称
$mysqli = new mysqli('localhost','root','','volunteer');
//检查连接是否成功
if (mysqli_connect_errno()){
//注意mysqli_connect_error()新特性
die('Unable to connect!'). mysqli_connect_error();
}
$sql = "select * from vol_msg";
//执行sql语句,完全面向对象的
$result = $mysqli-query($sql);
while($row = $result-fetch_array()){
echo $row[0];
}
?
以上两个php实例运行的结果完全相同,可以清楚的看到使用mysqli类对象构建数据库连接的优势!
插入和修改记录我就不用讲了,只要更改一下sql语句就行,下一篇我会讲prepare接口特性!
当服务器上PHP已经安装好,需要额外添加PHP扩展时怎么办?不需要重新安装PHP,有了phpize我们可以在原有的PHP基础之上直接安装扩展库。\x0d\x0a这次编译仅仅只是单独编译PHP的扩展库,接下来将编译好的扩展库加入到现在运行的php中,不对现在运行的php重新编译,所以没有一点的影响。\x0d\x0a下面我们演示安装xsl的扩展(不一定常用,仅做为一个范例)\x0d\x0a做法一:\x0d\x0a1.找到当前运行的php版本的源代码目录,如php-5.2.3。进入xsl扩展库目录。\x0d\x0a$cd /home/pkgs/php-5.3.3/ext/xsl\x0d\x0a2.调用phpize程序生成编译配置文件。\x0d\x0a$/home/app/php5.3.3/bin/phpize\x0d\x0a3.编译扩展库,分别执行下面的configure和make命令。\x0d\x0a$./configure-with-php-config=/home/app/php5.3.3/bin/php-config\x0d\x0a这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。\x0d\x0a$make\x0d\x0a#make成功执行后,生成的扩展库文件在当前目录的 modules子目录下,\x0d\x0a如/home/php-5.3.3/ext/curl/modules/xsl.so\x0d\x0a4.配置php.ini文件\x0d\x0a#将编译好的扩展库文件复制到PHP的扩展目录下,可通过查看phpinfo信息。。\x0d\x0a$ cp /home/pkg/php-5.3.3/ext/xsl/modules/xsl.so /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626\x0d\x0a#在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到php安装目录/extension/no-debug-non....目录下,并添加扩展库位置。\x0d\x0aextension_dir /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626”\x0d\x0aextension=xsl.so\x0d\x0a5.重启php,查看phpinfo信息,即可看到刚才添加进去的xsl扩展库。(如果有多个php-fpm进程的话,平滑重启主进程即可:kill -USR2 pid)