PHP操作MySQL数据库原理
从根本上来说,PHP是通过预先写好的一系列函数来与MySQL数据库进行通信,向数据库发送指令、接收返回数据等都是通过函数来完成。
连接数据mysqli_connect()函数
使用PHP连接MySQL数据库,首先要让PHP程序连接MySQL服务器,再选择一个数据库,然后向MySQL数据库管理系统发送sql语句。
连接数据库 MySQLi扩展为PHP与数据库的连接提供了mysqli_connect()函数,其声明方式如下。
mysqli mysqli_connect( string $host=ini_get(‘mysqli,default_host’), //主机名或者IP string $username=ini_get(‘mysqli.default_user’), //用户名 string $passwd=ini_get(‘mysqli.default_pw`’), //密码 string $dbname=‘’, //数据库名 int $port=ini_get(‘mysqli.default_port`’), //端口号 string $socket=ini_get(‘mysqli.default_socket`’) //socket通信 )
测试代码如下
<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>//连接数据库$link=mysqli_connect('localhost','root','','ghw','3306'); //数据库名字为ghw//查看连接数据库是否正确if($link){ echo"连接数据库成功"; } else{ echo"连接数据库失败"; }
运行
表的结构
插入数据/删除数据
选择数据库:mysqli_select_db(数据库名字);
设置字符集:mysqli_set_charset('utf8'); mysqli_set_charset('utf8');
发送sql语句:mysqli_query(sql语句);
测试代码如下
<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>//连接数据库$conn=mysqli_connect('localhost','root','','ghw','3306'); $sql="insert into student values('12','eren','男','21','软件技术')"; mysqli_select_db($conn,'ghw'); mysqli_set_charset($conn,'utf8'); $insert=mysqli_query($conn,$sql); if($insert){ echo'成功插入数据'; } else{ echo'插入数据失败'; }
运行
查看 phpmyadmin (表中已有一些数据)
删除数据只要把$sql换成删除的sql语句即可
$sql="“delete from `student` where `student`.`s_id` = 12”;
返回结果集
由于函数mysqli_query()在执行SELECT、SHOW、EXPLAIN或DESCRIBE的SQL语句后,返回的是一个资源类型的结果集,因此,需要使用函数从结果集中获取信息。
函数名 |
描述 |
mysqli_num_rows() |
获取结果中的行的数量 |
mysqli_fetch_all() |
获取所有的结果,并以数组方式放回 |
mysqli_fetch_array() |
获取一行结果,并以数组方式返回 |
mysqli_fetch_assoc() |
获取一行结果并以关联数组返回 |
mysqli_fetch_row() |
获取一行结果并以索引数组返回 |
测试代码如下
<htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title></head><style>body{ height: 32rem; background: linear-gradient(tobottom, #84d6f730%30%, #b2eea5); } table{ margin-top: 16rem; font-weight: bold; } trtd{ font-weight: bold; } </style><body><tablewidth="400"border="3"align="center"cellpadding="0"><tr><tdheight="30"align="center">学号</td><tdheight="30"align="center">姓名</td><tdheight="30"align="center">性别</td><tdheight="30"align="center">年龄</td><tdheight="30"align="center">专业</td></tr><tr><tdheight="30"align="center"></td><tdheight="30"align="center"></td><tdheight="30"align="center"></td><tdheight="30"align="center"></td><tdheight="30"align="center"><ltd></tr></table></body>
运行