一.PHP连接数据库
PHP连接数据库有三种方式:
①Mysqli面向过程方式;
②Mysqli面向对象方式;
③PDO方式( PHP Data Objects)。
① mysqli_connect($servername, $username, $password)
第一个参数是服务器的名称,若使用本地服务器则可以写为localhost;
第二个参数是Mysql数据库的用户名,默认情况下是root;
第三个参数是登录Mysql数据库的密码。
小例子:
<?php
// 创建连接
$conn = mysqli_connect(localhost,root, root);
// 检测连接
if (!$conn) {
echo "连接成功";
}else
echo "连接失败";
② new mysqli($servername, $username, $password)
第一个参数是服务器的名称,若使用本地服务器则可以写为localhost;
第二个参数是Mysql数据库的用户名,默认情况下是root;
第三个参数是登录Mysql数据库的密码。
小例子:
<?php
// 创建连接
$conn = new mysqli(localhost,root, root);
// 检测连接
if ($conn) {
echo "连接成功";
}else
echo "连接失败";
?>
③ new PDO($servername, $username, $password)
第一个参数是服务器的名称,若使用本地服务器则可以写为localhost;
第二个参数是Mysql数据库的用户名,默认情况下是root;
第三个参数是登录Mysql数据库的密码。
这种方式与mysqli的区别是这三个参数必须是变量,如下例子
小例子:
<?phpheader("Content-Type:text/html;charset=utf-8");
$dsn="mysql:lost=127.0.0.1";
$username="root";
$passwd="root";
$conn = new PDO($dsn,$username, $passwd);
if ($conn) {
echo "连接成功";
}else
echo "连接失败";
?>
二.关闭连接
mysqli_close(mysql的连接 标识符)
例子:
$conn=mysqli_connect('localhost','root','root');
mysqli_close($conn);
三.选择数据库
mysqli_select_db(mysql的连接标识符,数据库名)
四.数据库操作的函数
mysqli_query(SQL语句)
//执行成功返回一个资源句柄又叫资源标识符又叫结果集标识符。
例子:
mysqli_query('set names utf8');//设置数据库编码
五.查看SQL语句中的错误
mysqli_error()
//无参数,返回上一个mysql操作产生的文本错误信息
六.显示数据
mysqli_fetch_row(资源标识符)
mysqli_fetch_array(参数1,参数2)
//参数1可以是资源标识符,参数2的取值有MYSQL_ASSOC(输出关联数组)、MYSQL_NUM(输出索引数组)、MYSQL_BOTH(默认输出关联数组和索引数组)
mysqli_fetch_assoc(资源标识符)
mysqli_fetch_object(资源标识符)
①四个fetch函数的区别 :
只产生关联数组:
mysqli_fetch_assoc(资源标识符) 和 mysqli_fetch_array(资源标识符,MYSQL_ASSOC)
只产生索引数组:
mysqli_fetch_row(资源标识符)和 mysqli_fetch_array(资源标识符,MYSQL_NUM)
产生混合数组:
mysqli_fetch_array(资源标识符,MYSQL_BOTH) 和 mysqli_fetch_array(资源标识符)
②mysqli_fetch_object(资源标识符) 的使用如下
$query=mysqli_query('select * from shujuku1');
$arr=mysqli_fetch_object($query);
echo $arr->name;
③大家也看到了这四个函数的作用是一样的,都是返回数据库中的数据,所以今后在使用中选择其中一个使用就可以了。
七.返回结果集中行的数目
mysqli_num_rows(结果集标识符)
小例子:
$query=mysqli_query('select * from shujuku1');
if($query && mysqli_num_rows($query)){
mysqli_fetch_row($query);
}else{
echo "无数据";
}
八.返回结果集中某个字段的值
mysqli_result(结果集地址,行号从0开始,列号从0开始 可选)
九.返回前一次SQL操作影响的记录条数
mysqli_affected_rows(连接标识符)
例子:
$conn=mysqli_connect('localhost','root','root');
mysqli_select_db('info');
mysqli_query('set names utf8');
if(mysql_query(‘insert into xuesheng(name,xuehao,age) values('\徐卓'\,2016,23);');
{ echo mysqli_affected_rows($conn);
}else{
echo "插入失败";
}