24)PHP,数据库的基本知识
2024-10-08 18:02:46
(1)数据库操作的基本流程:
• 建立连接(认证身份)
• 客户端向服务器端发送sql命令
• 服务器端执行命令,并返回执行的结果
• 客户端接收结果(并显示)
• 断开连接
(2)php中操作数据库的基本代码和流程
基本流程:
,连接数据库:
$mylink = mysqli_connect(“localhost”, ‘root’, ‘’);
,设定连接编码(通常是utf8)
mysql_set_charset(“utf8”); //也可以使用:mysql_query(“set names utf8”);
,选择数据库(如有需要)
mysql_select_db(“数据库名”); //也可以使用:mysql_query(“use 数据库名”);
,执行sql命令。
$result = mysql_query( “几乎任何sql语句 ”);
返回的结果通常需要分两种情形进行处理:
4.1:如果是无返回数据的语句:
4.1. 如果$result为true,表示执行成功
4.1. 如果$result为false,表示执行失败
4.2:如果是有返回数据的语句:
4.2. 如果$result为false,表示执行失败
4.2. 否则,执行成功,需要继续从结果中取出数据并显示出来。
(3)上面代码样例展示:
所选的数据库:thkphp5,管理员是root,密码是root,表格是zixun,里面的数据展示:
我的PHP代码:
<?php $link= mysqli_connect('localhost','root','root');
// mysqli_character_set_name();
mysqli_query($link,"set names utf8");
mysqli_select_db($link,'thkphp5');
$sql='select * from zixun';
$result=mysqli_query($link,$sql);
while( $record = mysqli_fetch_array($result )){
//mysql_fetch_array()函数的作用类似foreach对数组的作用:遍历(结果集)
//它每次去的结果集的“一行数据”,并“装入”到数组 $record 中
//该数组的下标就是该select的字段名,值就是对应行的数据值
echo "\n";
echo "****" . var_dump($record) . "****";
echo "\n";
} ?>
上面的是展示那个zixun表格的所有数据,现在我显示其中的 'Zid' 一项数据:
<?php $link= mysqli_connect('localhost','root','root');
// mysqli_character_set_name();
mysqli_query($link,"set names utf8");
mysqli_select_db($link,'thkphp5');
$sql='select * from zixun';
$result=mysqli_query($link,$sql);
while( $record = mysqli_fetch_array($result )){
//mysql_fetch_array()函数的作用类似foreach对数组的作用:遍历(结果集)
//它每次去的结果集的“一行数据”,并“装入”到数组 $record 中
//该数组的下标就是该select的字段名,值就是对应行的数据值
echo "\n";
echo "****" . $record['Zid'] . "****";
echo "\n";
} ?>
结果展示:
补充php操作mysql的函数:
$record = mysql_fetch_array( 结果集$result );
$n1 = mysql_num_rows( 结果集$result ): 获取结果集的行数
$n2 = mysql_num_fields( 结果集$result ): 获取结果集的列数
mysql_field_name( 结果集$result, $i ): 获取结果集中的第i个字段名(i从0开始)
比如:我再插入一个数据,代码展示:
<?php $link= mysqli_connect('localhost','root','root');
// mysqli_character_set_name();
mysqli_query($link,"set names utf8");
mysqli_select_db($link,'thkphp5');
$sql='INSERT into zixun(ZX_id,ZX_name,ZX_fenlei,ZX_zuozhe,gengxin_time,liulan_cishu,fabu_zhuangtai) values(100020,\'english\',\'理论\',\'王超\',\'2017-08-10 12:58:01\',100,\'草稿\');';
$result=mysqli_query($link,$sql);
if($result){
echo "插入成功!!!";
}else{
echo "插入失败!!!!";
}
然后结果展示:
那个100020就是我们的插入数据
最新文章
- Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇
- C#集合接口的继承关系图
- 关于asp.net 网站网站发布时提示:错误 27 对路径 AppData\Local\Temp\~632b\bin\App_Code.compil的解决方法
- Python核心编程(第八章)--条件和循环
- JavaScript引用类型之RegExp类型(正则表达式)
- 安装linux版qq,安装二进制包编译器,安装mysql-5.6.11,删除已安装或安装失败的mysql-5.6.11,简单mysql练习题
- Velocity China 2016 Web 性能与运维大会:构建快速、可扩展的弹性网站
- DHCP配置部分
- 自学Zabbix3.6.3-触发器triggers expression表达式
- Node.js 模块系统
- 超哥笔记 -- 用户管理、权限设置、进程管理、中文配置、计划任务和yum源配置(5)
- Linux用户权限指令, 定时任务等指令
- 自学Python4.3-装饰器固定格式
- Linux 检查 外部设备 是否存在
- python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)
- AES加密【转】
- OC照片选择器MJPhotoBrowser
- 加密安装Kali Linux条件
- 内网IP和公网IP的区别
- JS &#27491;&#21017; /g &#27880;&#24847;&#20107;&#39033;