一 mysql查找一个表中字段相同的数据 2019-05-10 15:51:03
SELECT product_record_id FROM `t_warehouse_record` where document_id = 112 and document_type = 1 GROUP BY `product_record_id` HAVING COUNT(*) > 1
多字段
SELECT * FROM `t_warehouse_record` a WHERE 1 and a.document_id = 112 and a.document_type = 1 and a.product_record_id in (SELECT product_record_id FROM `t_warehouse_record` where document_id = 112 and document_type = 1 GROUP BY `product_record_id` HAVING COUNT(*) > 1)
二 Referer的作用?2019-05-17 10:03:48 (来自网络)
1.防盗链
我在www.google.com里有一个www.baidu.com链接,那么点击这个www.baidu.com,它的header信息里就有:
Referer=http://www.google.com
那么可以利用这个来防止盗链了,比如我只允许我自己的网站访问我自己的图片服务器,那我的域名是www.google.com,那么图片服务器每次取到Referer来判断一下是不是我自己的域名www.google.com,如果是就继续访问,不是就拦截。
这是不是就达到防盗链的效果了?
将这个http请求发给服务器后,如果服务器要求必须是某个地址或者某几个地址才能访问,而你发送的referer不符合他的要求,就会拦截或者跳转到他要求的地址,然后再通过这个地址进行访问。
2.防止恶意请求
比如静态请求是*.html结尾的,动态请求是*.shtml,那么由此可以这么用,所有的*.shtml请求,必须 Referer 为我自己的网站。
Referer=http://www.google.com
注意:只有通过链接访问当前页的时候,才能获取上一页的地址,以下情况是获取不到值的:
只有通过链接访问当前页的时候,才能获取上一页的地址
1,window.open
2,直接输入地址
3,改变location
4,xx
/**
* 把返回的数据集转换成Tree
* @param array $list 要转换的数据集
* @param string $pk 自增字段(栏目id)
* @param string $pid parent标记字段
* @return array
* @author dqs <[email protected]>
*/
function make_tree($list,$pk='id',$pid='pid',$child='_child',$root=0){
$tree=array();
$packData=array();
foreach ($list as $data) {
$packData[$data[$pk]] = $data;
}
foreach ($packData as $key =>$val){
if($val[$pk]==$root){//代表跟节点
$tree[]=& $packData[$key];
}else{
//找到其父类
$packData[$val[$pid]][$child][]=& $packData[$key];
}
}
return $tree;
}
四 TP5 闭包传参的whereOr 查询
$where['id'] = $document_id;
$where['from__id'] = $own_warehouse;
$where['from_type'] = 0;
$whereor['id'] = $document_id;
$whereor['receiving_id'] = $own_warehouse;
$whereor['receiving_type'] = 0;
$document_info = db('insurance')->where(function($query) use ($where){$query->where($where);
})->whereOr(function($query) use ($whereor){$query->where($whereor);
})->order('create_time desc')->find();
hasOne('logisticsCompany', 'id', 'logistics_company');
}
}
$detail = model('insurance')->find();
$logisticsName = $detail['logistics']['name'];
注意:
model的hasone函数不要下划线,直接写成一个单词(暂未验证驼峰是否可行). 如果logistics() 写成logistics_ok(),则取不到关联,可以写成logisticsok(),暂未验证logisticsOk().
六 mysql delete drop truncate 2019-09-09
当你不需要该表时, 用 drop;当你仍要保留该表,但要删除所有记录时, 用 truncate;当你要删除部分记录时(always with a WHERE clause), 用 delete.
七 php脚本全执行完的之后 才会输出内容 2019-10-14 16:19
echo date("Y-m-d H:i:s")."
";
sleep(5);
echo date("Y-m-d H:i:s");
页面会在5s之后才渲染内容,两个时间差为5s