我负责的数据库为:地区表:area_tbl
,科室表:dep_tbl
,订单表:odr_tbl
。所以,我做的 api 的就是用来操作这三个数据库。
首先以 dep_get_info.php
为示例:
<?php
require_once('../config.php');
require_once('../public/class_base.php');//引用相关的文件
$dep_id = $_REQUEST['dep_id'];//接受相关的数据
$query_dep = "dep_id = $dep_id";
$sql = "select * from zzl_dep_tbl where ".$query_dep;//生成sql语句
$rs = Base::getSingleRs($sql);
if (!$rs) {
echo "no data";
}
else{
//echo $rs;
echo $rs['dep_range'];
}//得到返回的信息
?>
对这个文件的解析,可以看这个文章:api笔记。
简单来说,就是:
下面说一说在 api 中具体如何进行数据库的增删改查(字段):
基本的思路就是:
接收一些字段值,然后,拼接 sql 语句,再调用相关方法进行操作
下面操作的数据库都是 zzl_dep_tbl
,字段值有:
dep_id
(primary key) h_id
dep_name
dep_range
dep_master
dep_desc
dep_pic
//接收数据(各字段值)
$h_id = $_REQUEST['h_id'];
$dep_name = $_REQUEST['dep_name'];
$dep_range = $_REQUEST['dep_range'];
$dep_master = $_REQUEST['dep_master'];
$dep_desc = $_REQUEST['dep_desc'];
$dep_pic = $_REQUEST['dep_pic'];
//完整 sql 语句
$sql = "insert into zzl_dep_tbl
(h_id, dep_name, dep_range, dep_master, dep_desc, dep_pic)
values
('".$h_id."','".$dep_name."','".$dep_range."', '".$dep_master."','".$dep_desc."','".$dep_pic."')";
//接收数据(各字段值)
$dep_id = $_REQUEST['dep_id'];
//拼接 sql 语句
$query_dep = "dep_id = $dep_id";
$sql = "select * from zzl_dep_tbl where ".$query_dep;
//接收数据(各字段值)
$dep_id = $_REQUEST['dep_id'];
$h_id = $_REQUEST['h_id'];
$dep_name = $_REQUEST['dep_name'];
$dep_range = $_REQUEST['dep_range'];
$dep_master = $_REQUEST['dep_master'];
$dep_desc = $_REQUEST['dep_desc'];
$dep_pic = $_REQUEST['dep_pic'];
//拼接 sql 语句--部分
$update_dep = "
h_id = '".$h_id."',
dep_name = '".$dep_name."',
dep_range = '".$dep_range."',
dep_master = '".$dep_master."',
dep_desc = '".$dep_desc."',
dep_pic = '".$dep_pic."'
where dep_id = $dep_id";
//完整 sql 语句
$sql = "update zzl_dep_tbl set ".$update_dep;
//接收字段值,这里是主键字段
$dep_id = $_REQUEST['dep_id'];
//sql 语句
$delete_dep = "dep_id = $dep_id";
$sql = "delete from zzl_dep_tbl where ".$delete_dep;
最主要的问题是 sql 语句不熟悉,所以,很多次拼错 sql 语句。这个浪费的时间最多。
其次是 sql 中字段名和字段值类型的的修改,以及主键默认值的修改,也是一个问题
参考这两篇文章:Mysql 命令大全、MySQL学习笔记10:修改数据
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
如果数据是字符型,必须使用单引号或者双引号,如:"value"。
举例:insert into person(id,name,sex,birth) values(6,'王芳','女',1992);
insert into
后面接表名和字段,此处的字段可调整位置,但一个必要条件是后面的values值必须与其字段对应
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
你可以同时更新一个或多个字段。
你可以在 WHERE 子句中指定任何条件。
你可以在一个单独表中同时更新数据。
DELETE FROM table_name [WHERE Clause]
如果没有指定 WHERE 子句,MySQL表中的所有记录将被删除。
你可以在 WHERE 子句中指定任何条件。
您可以在单个表中一次性删除记录。
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
SELECT 命令可以读取一条或者多条记录。
你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据。
你可以使用 WHERE 语句来包含任何条件。
你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
你可以使用 LIMIT 属性来设定返回的记录数。
在 dep_get_info.php
中,通过$rs = Base::getSingleRs($sql);
获取了单行数据集
然后,通过下面代码,获取该记录中 dep_range
字段的值
echo $rs['dep_range'];
相关文章推荐: