php链接mysql必备条件:
已安装mysql数据库;
检查php环境是否已开启mysql扩展(一般情况下是开启的);
检查方法:a.使用phpinfo();函数,看有没有mysql项;b.打开php.ini文件,检查php_mysql.dll前分号是否已取掉.
php链接代码如下:
php
//设置编码格式
//定义数据库主机地址
$host="localhost";
//定义mysql数据库登录用户名
$user="root";
//定义mysql数据库登录密码
$pwd="";
//链接数据库
$conn = mysql_connect($host,$user,$pwd);
//对连接进行判断
if(!$conn){
die("数据库连接失败!".mysql_errno());
}else{
echo "数据库连接成功!";
}
非root用户运行MySQL,当MySQL配置比较高时,MySQL运行中生效的参数值与配置的值不一样,所以具体分析一下MySQL是怎么调整这些参数值的.?这篇文章的目的是为了说明在系统资源不够的情况下,MySQL 是怎么调整者三个参数的.说明此文涉及到三个参数open_files_limit、?max_connections、?table_open_cache.与这三个参数相关的系统资源是打开文件数限制,即文件描述符(fd)限制.系统参数与文件描述符的关系?-?max_connection?fd?: 每一个MySQL connection ? ? ?都需要一个文件描述符;-?table_open_cache?fd?打开一张表至少需要一个 ? ? ?文件描述符,如打开MyISAM需要两个fd?;- 系统最大打开文件数可以通过?ulimit -n查看.MySQL调整参数的方式
根据配置(三个参数的配置值或默认值)计算?request_open_files(需要的文件描述符);
在有限值的的范围内MySQL?尽量将effective_open_files的值设大.
修正request_open_files
requested_open_files= min(effective_open_files,?request_open_files)
重新计算参数值
修正open_files_limit
open_files_limit?=?effective_open_files
修正max_connections
如果配置的max_connections值大于limit,则将max_connections?的值修正为limit
其他情况下?max_connections?保留配置值
修正table_cache_size
如果配置的table_cache_size?值大于limit,则将?table_cache_size?的值修正为limit
其他情况下table_cache_size?保留配置值
举例
以下用例在非 root 用户下运行
参数设置:
//mysql
//ulimit -n
生效的值:
首先搭建PHP开发运行环境,安装完成后再使用PHP连接mysql,代码操作步骤如下:
打开php.ini配置文件,去掉extension=php_mysql.dll项前面的分号,如果已取掉则跳过此步骤;
然后运行phpinfo();如果存在mysql项,则说明已经开启mysql扩展.
php连接mysql数据库操作:
运行结果:
查找下面的语句:;extension=php_mysqli.dll将其修改为:extension=php_mysqli.dll即可.
相对于mysql有很多新的特性和优势
(1)支持本地绑定、准备(prepare)等语法
下面一一用php实例进行mysqli数据库连接!
使用方法一:使用传统的面向过程的方法
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代码如下:
复制代码?代码如下:
//创建对象并打开连接,最后一个参数是选择的数据库名称
$mysqli?=?new?mysqli('localhost','root','','volunteer');
//检查连接是否成功
if?(mysqli_connect_errno()){
//注意mysqli_connect_error()新特性
die('Unable?to?connect!').?mysqli_connect_error();
//执行sql语句,完全面向对象的
$result?=?$mysqli-query($sql);
while($row?=?$result-fetch_array()){
以上两个php实例运行的结果完全相同,可以清楚的看到使用mysqli类对象构建数据库连接的优势!
插入和修改记录我就不用讲了,只要更改一下sql语句就行,下一篇我会讲prepare接口特性!
PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据.
在一些PHP管理系统需要开启PDO和PDO_MySQL扩展,方法很简单:
①.、找到php.ini文件
最终这两行配置内容如下:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
重新启动apache或者iis后,在phpinfo函数中查看,是否开启.