PHP访问MYSQLI
MySQLi扩展为PHP与数据库的连接提供了mysqli_connect()函数
连接数据库
//@错误运算符,可以省略错误语句
$conn=@mysqli_connect("127.0.0.1","root","123456","itheima","3306") or die("连接失败!");//或者or exit
除了or die 、or exit还能用if判断服务器是否连接成功
if($conn){
echo "OK";
}else{
echo "NO";
}
判断服务器连接失败弹出窗口
mysqli_set_charset($conn,"utf8");//字符集要跟项目一致,utf8
$result=mysqli_query($conn,"select * from 'student'");//数据集,结果集
测试数据集是否有效
if($result){
echo "OK";
}else{
echo "NO";
}
处理结果集的几种方式:
函数名 | 描述 |
mysqli_num_rows() | 获取结果中行的数量 |
mysqli_fetch_all() | 获取所有的结果,并以数组方式返回 |
mysqli_fetch_array() | 获取一行结果,并以数组方式返回 |
mysqli_fetch_assoc() | 获取一行结果并以关联数组返回 |
mysqli_fetch_row() | 获取一行结果并以索引数组返回 |
用array方式对结果集进行处理,返回一个数组
ASSOC以关联的形式访问,只能通过字段去访问,改成NUM,可以通过$row[1]访问到name
while($rwo=mysqli_fetch_array($result,MYSQLI_ASSOC)){
echo $row['id']."<br>";//访问id号,访问姓名可改成name
}
BOTH既可以支持关联也可以支持数据
while($row=mysqli_fetch_array($result,MYSQLI_BOTH)){
echo $row[1]."<br>";//访问姓名
echo $row["gender"]."<br>";//访问性别,
}
获取一行结果并以关联(assoc)数组返回
while($row=mysqli_fetch_assoc($result)){
echo $row["name"]."<br>";
echo $row["gender"]."<br>";
}
获取一行结果(row)并且以索引数组返回,只能放num或者什么也不放
while ($row=mysqli_fetch_row($result)){
echo $row[1]."<br>";
echo $row[2]."<br>";
}
all 获取所有的结果并以数组返回
while ($row=mysqli_fetch_all($result)){
echo $row[0][1]."<br>";
echo $row[0][2]."<br>";//输出一个人的记录
}
其他操作函数
函数名 | 描述 |
mysqli_insert_id() | 获取上一次插入操作时产生的ID号 |
mysqli_affected_rows() | 获取上一次操作时受影响的行数 |
mysqli_real_escape_string() | 用于转义SQL语句字符串中的特殊字符 |
mysqli_error() | 返回最近函数调用的错误代码 |
mysqli_free_result() | 释放结果集 |
mysqli_close() | 关闭数据库连接 |
mysqli_free_result($result);//释放结果集占用的系统内存资源
mysqli_close($conn);//关闭数据库连接