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

24)PHP,数据库的基本知识的更多相关文章

  1. 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用

    在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...

  2. 数据库的有关知识==>>我们的血泪史之经典练习(1-2)

    今天给大家说说数据库的有关知识 抒情一下,想在好困,真的,虽然我在这温暖的教室,身边有知心的盆友, ,很高兴还能是学生的一员,我们还年轻,我们也不会想的太多,高高兴兴上学,快快乐乐回家,每天吃的饱饱, ...

  3. SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法

    在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...

  4. SQL server学习(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法

    在软件测试中,数据库是必备知识,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数据库脱机.联机操作 数据库收缩操作 ...

  5. 2. Mysql数据库的入门知识

    2. Mysql数据库的入门知识 (1)打开Windows系统提供的服务查看相应的服务. (2)在Windows任务管理器的进程中查看 (3)使用命令行管理windows的Mysql数据库服务. Ne ...

  6. SQL server学习(一)数据库的基本知识、基本操作和基本语法

    在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...

  7. 数据库 MySQL基础知识

    (关于MySQL的安装,具体见下面博客:http://www.cnblogs.com/wj-1314/p/7573242.html) 一.什么是数据库 ? 数据库是按照数据结构来组织,存储和管理数据的 ...

  8. ORACLE数据库 DBA常用知识

    <常用命令参考> 个系统变量值 SQL> show user --显示当前连接用户 SQL> show error --显示错误 SQL> set heading off ...

  9. HBase数据库相关基本知识

    HBase数据库相关知识 1. HBase相关概念模型 l  表(table),与关系型数据库一样就是有行和列的表 l  行(row),在表里数据按行存储.行由行键(rowkey)唯一标识,没有数据类 ...

随机推荐

  1. RectTransform详解

    乾坤那个大挪移   ----------------------------------------------------------------- 我是分割线 ------------------ ...

  2. springboot自动装配介绍

    所谓的自动装配,就是 autowire. 如何激活自动装配呢? 方法一:@EnableAutoConfiguration或@SpringBootApplication,写在@Configuration ...

  3. 尝试用kotlin做一个app(四)

    本来是应该为主页加载数据库数据了,但是想着做后台,之前写jsp后台写吐了,所以先拖几天.把之前的代码完善一下,或者添加些新内容. ...... 多个fragment切换卡顿 首先修正一个bug.从主页 ...

  4. python刷LeetCode:27. 移除元素

    难度等级:简单 题目描述: 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O ...

  5. Python多线程,线程死锁及解决,生产者与消费者问题

    1.Thread类 普通调用 t = Thread(target=test, args=(i,)) # test为目标函数名, 若函数需要参数将其以元组形 # 式赋给args, 若无参数可不写 t.s ...

  6. Java中String类为什么被设计为final?

    Java中String类为什么被设计为final   首先,String是引用类型,也就是每个字符串都是一个String实例.通过源码可以看到String底层维护了一个byte数组:private f ...

  7. HALCON导出函数

    Halcon小函数的封装和代码导出 一.Halcon小函数的封装和修改 1.名词解释: 算子:指Halcon中最基础.最底层的函数(即你看不到它的代码实现),一个算子只有一句话,例如threshold ...

  8. java 简单的冒泡

    import java.util.Arrays; public class mao { public static void main(String[] args) { int [] array={1 ...

  9. SQL基础教程(第2版)第8章 SQL高级处理:练习题

    本题中 SELECT 语句的含义是“按照商品编号(product_id)的升序进行排序, 计算出截至当前行的最高销售单价”.因此,在显示出最高销售单价的同时,窗口函 数的返回结果也会变化.这恰好和奥运 ...

  10. 为什么在SSM中的dao层不用写@Repository注解

    1.  Mybatis 接口编程中dao 层接口没有注解和 为什么能被实例化为bean? 在Spring配置Mybatis的文件中我们可以看到如下代码: <bean class="or ...