(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就是我们的插入数据

最新文章

  1. Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇
  2. C#集合接口的继承关系图
  3. 关于asp.net 网站网站发布时提示:错误 27 对路径 AppData\Local\Temp\~632b\bin\App_Code.compil的解决方法
  4. Python核心编程(第八章)--条件和循环
  5. JavaScript引用类型之RegExp类型(正则表达式)
  6. 安装linux版qq,安装二进制包编译器,安装mysql-5.6.11,删除已安装或安装失败的mysql-5.6.11,简单mysql练习题
  7. Velocity China 2016 Web 性能与运维大会:构建快速、可扩展的弹性网站
  8. DHCP配置部分
  9. 自学Zabbix3.6.3-触发器triggers expression表达式
  10. Node.js 模块系统
  11. 超哥笔记 -- 用户管理、权限设置、进程管理、中文配置、计划任务和yum源配置(5)
  12. Linux用户权限指令, 定时任务等指令
  13. 自学Python4.3-装饰器固定格式
  14. Linux 检查 外部设备 是否存在
  15. python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)
  16. AES加密【转】
  17. OC照片选择器MJPhotoBrowser
  18. 加密安装Kali Linux条件
  19. 内网IP和公网IP的区别
  20. JS &#27491;&#21017; /g &#27880;&#24847;&#20107;&#39033;

热门文章

  1. MySQL的异常问题
  2. 18 12 14 python提高 装饰器
  3. try,catch,finally尝试(一个程序块多个catch)
  4. ZooKeeper解决的问题
  5. Linux--Shell传递参数
  6. Node.js—第一个动态页面
  7. Django模板渲染——(二)
  8. 18 11 07 pygame 继续使用
  9. 基于JSP+Servlet新闻发布系统 源码
  10. 201512-1 数位之和 Java