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,<a href="javascript:location='url'">xx</a>

  三  通过引用方式实现无限极分类

/**
* 把返回的数据集转换成Tree
* @param array $list 要转换的数据集
* @param string $pk 自增字段(栏目id)
* @param string $pid parent标记字段
* @return array
* @author dqs <1696232133@qq.com>
*/
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 查询  2019-08-13 

                $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();

  五  tp5 hasone()   2019-08-13

<?php
namespace app\model;
use think\Model;
class insurance extends Model{
public function logistics(){
return $this->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")."<br />";
sleep(5);
echo date("Y-m-d H:i:s");
      页面会在5s之后才渲染内容,两个时间差为5s

  八 php sleep()导致所有网页都没响应了 2019-10-14 17:18:17

 

q:
打开那个页面,60秒后才有输出,这个是正常的;
但是在这60秒内我网站中的其他网页也都是loading的状态,直到这个页面出现了 a:
1. 程序里是否只有一句sleep()代码?是否有类似 session_start() ? 或者是你修改过php.ini开启了自动开启session.
如果是,那就是session文件锁导致
2. 你php-fpm中最大子进程是几个?如果只有一个,也会造成拥堵的状况
(sleep不占用系统资源,它会把cpu的控制权交换给内核,内核会再schedule到另一个进程。
这种简单的事情,你写个while (true) sleep(1)的程序然后top一下就能判断的。)

  九 php文件为什么不加?>   2019-11-21 10:28:38


加与不加,视情况而定。先定义一下两者的区别。

加结尾的:之后的内容视为 纯文本直接输出,直到再次碰到 <? 或 <?php
不加的:之后的内容视为 PHP 代码,除非没有代码了。 像一些函数库,类库这类文件,不加结尾比较好。这样当它们被其他文件包含的时候,可以避免一些因为有输出而导致的错误。比如 <?PHP
//如果 a.php 有结尾,并且后面多一个回车或空格。下面这行一定报错。
include("a.php");
session_start():
?> 另外,不加结尾还有个好处,如果服务器被病毒感染,病毒会在你的 PHP 文件最后加上 HTML 码。例如:< img src="他的带毒地址" /> 不加结尾的话,等效于直接在 PHP 文件里书写 HTML 码,PHP 报错运行中断。至少你网站的访客不会因为这个中毒,你也能马上发现染毒了。。 总的来说,我个人认为,纯 PHP 的程序,不加结尾符,比加结尾符更具有优势。如果你程序后面还有 HTML 码之类的文本输出,那你一定要加结尾。
 
  十 限制input框只能输入6位数字,其他字符均不可输入   2019-11-21  11:01:44 
<input type="text" oninput="value=value.replace(/[^\d]/g,'')" maxlength="6" />
  十一 批量插入数据  2019-11-21  11:03:42
在项目中,会遇到批量插入数据,如果还是使用insert into() values(),只要其中有一条数据失败,整个就失败。

在我们项目中,允许失败,正常的数据需要插入成功。

解决方法:

1.insert ignore into

当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。例如:

INSERT IGNORE INTO books (name) VALUES (1, 'MySQL'),(1,'JAVA')

(1, 'MySQL')将会插入成功。

2.replace into

如果存在primary or unique相同的记录,则先删除掉。再插入新记录。

REPLACE INTO books (name) VALUES (1, 'MySQL'),(1,'JAVA')

(1,'JAVA')将会插入成功。


   

notes-19-05-10的更多相关文章

  1. 北京Uber优步司机奖励政策(10月19日~10月25日)

    用户组:优步北京人民优步A组(适用于10月19日-10月25日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万 ...

  2. [19/05/27-星期一] JavaScript_ 条件语句(if语句)和循环语句(while 、for、do-while)

    一.条件语句 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...

  3. [19/05/02-星期四] GOF23_行为型模式(状态模式、观察者模式、备忘录模式)

    一.状态模式 [状态接口] /*** * 房间"状态"接口 */ package cn.sxt.state; public interface State { void handl ...

  4. Murano Weekly Meeting 2016.05.10

    Meeting time: 2016.May.10 1:00~2:00 Chairperson:  Serg Melikyan, from Mirantis Meeting summary: 1. m ...

  5. 2016/05/10 thinkphp 3.2.2 ①系统常量信息 ②跨控制器调用 ③连接数据库配置及Model数据模型层 ④数据查询

    [系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: 显示如下: [跨控制器调用] 一个控制器在执行的时候,可以实例化另外一个控制,并通过对象访问其指定方法. 跨控制器调用可以节省我 ...

  6. [19/05/29-星期三] JavaScript_ 函数的简介

    一.函数的简介 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  7. [19/05/26-星期日] JavaScript_ 基本语法_运算符

    一.概念 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  8. [19/05/19-星期日] CSS_css的声明和选择器

    一.引言 HTML的作用是负责数据的格式展示,如果使用它来搞数据的样式,则发现样式书写出来太麻烦,不易于维护: HTML可以有效组织数据的展示,但是不同类型数据在浏览器中的分布没有办法展示. HTML ...

  9. [19/05/18-星期六] HTML_form标签

    一.form标签(一) <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  10. [19/05/17-星期五] HTML_body标签(内嵌标签)和框架标签

    一.内嵌标签 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!- ...

随机推荐

  1. Java 内部类、成员类、局部类、匿名类等

    Java各种称呼类详解 Java有各种各样类,内部类.嵌套类.成员类.局部类(本地类).静态类.匿名类.文件类以及这些组合起来的称呼类,成员内部类,成员匿名类,成员嵌套类,本地匿名类等,真是多的不行, ...

  2. HashMap、Hashtable、HashSet三种hash集合的区别

    转载:http://www.cnblogs.com/lzrabbit/p/3721067.html#h1 HashMap和Hashtable的区别 两者最主要的区别在于Hashtable是线程安全,而 ...

  3. swift模式和模式匹配

    模式和模式匹配 模式: 代表单个或者复合值得结构,也就是说模式不是一个特定的值,它是一种抽象的结构,[一句话,不是特指,是泛指].这样就可以用模式来匹配各种各样的值. 例如:(x,y)可以匹配元祖(1 ...

  4. LeetCode 337. 打家劫舍 III(House Robber III)

    题目描述 小偷又发现一个新的可行窃的地点. 这个地区只有一个入口,称为“根”. 除了根部之外,每栋房子有且只有一个父房子. 一番侦察之后,聪明的小偷意识到“这个地方的所有房屋形成了一棵二叉树”. 如果 ...

  5. Javascript获取html元素的几种方法

    1.通过id获取html元素 <!DOCTYPE html> <html> <head lang="en"> <meta charset= ...

  6. linux常用命令(22)gzip命令

    减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间.gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用.gzip不仅可以用 ...

  7. cocos2dx[3.2](9) 新回调函数std::bind

    自从3.0引用了C++11标准后,回调函数采用的新的函数适配器:std::function.std::bind. 而曾经的回调函数menu_selector.callfunc_selector.ccc ...

  8. [Vuejs] 点击单选框触发两次点击事件的处理

    <el-radio-group v-model="uploadStatus" class="upload-status-radio"> <el ...

  9. form 校验

    import refrom django.forms import Formfrom django.forms import widgetsfrom django.forms import field ...

  10. [ASP.NET] 前台代码绑定后台变量方法总结 [转]

    原文链接:https://www.cnblogs.com/lerit/archive/2010/10/22/1858007.html 经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般 ...