php连接数据库
查看数据库主机,用户名
use myaql;
select Host from user;
select user from user;
连接数据库服务器
mysql_connect函数
$con = mysql_connect(“localhost”,”peter”,”abc123”);
参数1 主机
参数2 数据库服务器登陆名
参数3 密码
参数4 数据库的名称
参数5 数据库服务器端口不填默认3306
若参数4,数据库名称在此步已填并择,不需要执行第三步
判断链接是否正常
如果有错误,存在错误号
if (mysql_errno($conn)) {
echo mysql_error($conn);
exit;
}
mysql_errno 返回连接错误号,无错误返回0
参数1 传入mysql_connect返回的资源
mysql_error 返回连接错误字符串
参数1 传入mysql_connect返回的资源
选择数据库
mysql_select_db函数
mysql_select_db(‘user’,$conn);
参数1 传入mysql_connect返回的资源
参数2 需要连接的数据库名
设置字符集
mysql_set_charset
mysql_set_charset(‘utf8’,$conn);
参数1 字符集类型
参数2 传入mysql_connect返回的资源
准备SQL语句
要传入数据库的操作语句
注意参数如何拼接
如果是int类型的就使用
$sql=”insert into user(mycon) values(“.$my_con.”)”;
//或者
$sql=’insert into user(mycon) values(‘.$my_con.’)’;
如果是字符型的就要使用单引号或者双引号括起来
$sql=”insert into user(mycon) values(‘“.$my_con.”‘)”;
//或者这样写
$sql=’insert into user(mycon) values(“‘.$my_con.’”)’;
多个
$sql = “INSERT INTO user (username,password,createtime,createip)
values
(‘“ . $username . “‘,’” . $password . “‘,” . $time . “,’” . $ip . “‘)”;
发送SQL语句
$result = mysql_query($sql,$conn);
根据不同操作,判断执行是否正常或者遍历数据
发送的是select类别的语句,通常需要将结果输出显示出来。就需要用到遍历显示数据的函数
函数 mysql_fetch_array
功能 得到result结果集中的数据,返回数组进行便利
参数1 传入查询出来的结果变量
参数2 传入MYSQLI_NUM返回索引数组,MYSQLI_ASSOC返回关联数组,MYSQLI_BOTH返回索引和关联
函数 mysql_fetch_assoc
功能 得到result结果集中的数据,返回关联数组进行便利
参数1 传入查询出来的结果变量
函数 mysql_fetch_row
功能 得到result结果集中的数据,返回索引数组进行便利
参数1 传入查询出来的结果变量
函数 mysql_fetch_object
功能 得到result结果集中的数据,返回对象进行遍历
参数1 传入查询出来的结果变量
函数 mysql_num_rows
功能 返回查询出来的结果总数
参数1 传入查询出来的结果变量
函数 sql_num_rows
功能 返回查询出来的结果总数
参数1 传入查询出来的结果变量
如果发送的是insert的语句,通常需要得到是否执行成功,或者同时拿到自增的ID。
函数 mysqli_fetch_field
功能 遍历数据行
参数1 传入查询出来的结果变量
如果发送的是update和delete类别的语句。只需要判断是否执行成功即可。
if ($result) {
echo ‘成功’;
} else {
echo $sql;//查看是否是SQL语句拼接有问题
echo ‘失败’;
}
关闭数据库
函数 mysqli_close
功能 关闭数据库连接
参数1 传入mysqli_connect返回的资源
mysql_close($conn);//关闭数据库
显示服务器信息函数
函数 mysqli_get_server_info
功能 返回服务器信息
参数1 传入mysqli_connect返回的资源
函数 mysqli_get_server_version
功能 返回服务器版本
参数1 传入mysqli_connect返回的资源
数据显示乱码终极解决办法
多个不同的文件系统中一定要统一编码。
9个要点分别是:
1.html编码与MySQL编码一致
2.PHP编码与MySQL编码一致
3.若有header头发送字符集,请与数据库一样
如果php中有header头,一定要是utf-8的
header(‘content-type:text/html;charset=utf-8’);
4.<meta http-equiv=“Content-Type”content=“text/html; charset=utf-8” />要和页面的文字编码一致
5.数据库建库的字符集要统一
6.表的字符集要统一
7.列的字符集要统一(表设了,列就默认写表的)
8.连接,校验的字符集要统一
通过mysqli_set_charset(‘utf8’)来MySQL连接、结果和校验的字符集设置。
注:数据库的字符集声明和文件中的略有不同。utf8为mysql数据库的,utf-8为文件中使用的
9.结果集的字符集要统一