zzl_odr_tbl
where odr_id
=;zzl_odr_tbl
where odr_id
= 11; update zzl_odr_tbl set pat_id = '', dep_id = '', doc_id = '', h_id = '', odr_cost = '10000', odr_time = '2016-03-12 11:06:08.177', odr_timeto = '2016-03-12 11:06:08.177', odr_pay = '2', odr_desc = '眼部不适' where odr_id =
原因:his_route.php
中,参数错误$params['ord_id'] = $_REQUEST['odr_id'];
,应该是$params['odr_id'] = $_REQUEST['odr_id'];
select * from zzl_dep_tbl where dep_id =
原因:
$query_dep = "dep_id = $dep_id"; $sql = "select * from zzl_dep_tbl where ".$query_dep;
其中的 "dep_id = $dep_id";
dep_id
写成了id
sql 语句拼接错误
字段和数据库不匹配:
select * from zzl_doc_tbl
where dep_id
= 1000
zzl_dep_tbl
zzl_dep_tbl
总结:
这次 api 编写过程中,错误产生的原因有三点:
command + x
,删除光标当前所在行,并且同时复制到剪贴板 Sublime Text 中 Snippets 的使用(需要提前定义):
phpfun
/**
* 作者:秀野堂主
* 建立时间:xxx
* 最后一次更新时间:xxx
**/
public static function xxx($params)
{
//代码片段
}
然后 tab
切换需要更改的地方
Sublime Text 插件的使用--Alignment
command + d
选取这些重复的部分,同时操作,能极大的提高代码编写速度。(这个主要是针对有重复代码快捷操作) command
,然后,使光标落在需要操作的不同位置,然后就能在代码的多个位置进行修改。(这个主要针对无重复代码的快捷操作)his_route.php
中$params = array();
$params['pat_id'] = $_REQUEST['pat_id'];
$params['dep_id'] = $_REQUEST['dep_id'];
$params['doc_id'] = $_REQUEST['doc_id'];
$params['h_id'] = $_REQUEST['h_id'];
$params['odr_cost'] = $_REQUEST['odr_cost'];
$params['odr_time'] = $_REQUEST['odr_time'];
$params['odr_timeto'] = $_REQUEST['odr_timeto'];
$params['odr_pay'] = $_REQUEST['odr_pay'];
$params['odr_desc'] = $_REQUEST['odr_desc'];
$params['odr_id'] = $_REQUEST['odr_id'];
echo json_encode(HIS::odr_update_info($params));
class_his.php
中
$update_odr = "pat_id = '".$params['pat_id']."', dep_id = '".$params['dep_id']."', doc_id = '".$params['doc_id']."', h_id = '".$params['h_id']."', odr_cost = '".$params['odr_cost']."', odr_time = '".$params['odr_time']."', odr_timeto = '".$params['odr_timeto']."', odr_pay = '".$params['odr_pay']."', odr_desc = '".$params['odr_desc']."' where odr_id = '".$params['odr_id']."'";
一开始的做法:
将不同的 api 放在不同的文件中,分别调用,比如对科室表的增删改查,分别放在 dep_get_info.php
,dep_delete_info.php
,dep_update_info.php
,dep_insert_info.php
中,调用的时候,传入不同的参数。
这样做的问题:
每次调用,都会产生一次 IO 请求,代码中会重复引入 class_base.php
,config.php
修改后的做法:
将不同的调用方法都放在一个文件 class_his.php
中,然后在 his_route.php
中,通过 switch 方法 管理不同的调用,这个时候,对于不同文件的请求,变成了一个 method
参数的传递,比如对于某科室的查询,从对 dep_get_info.php
的请求,变成了
switch ($method) {
...
/**
*科室
**/
case 'dep_get_info':
echo json_encode(HIS::dep_get_info($_REQUEST['dep_id']));
break;
...
default:
# code...
break;
}
这时候,只要传入 method
和 dep_id
在上一段编程技巧的提高中,也写了将多个参数,作为一个参数数组进行传递,这样做,主要的目的是提高代码的可阅读性,方便后期的维护。
相关文章推荐: