php7运行thinkphp3.2,报错,出现”系统不支持:mysql”
原因是thinkphp里面的数据库链接配置里面,php7里面,已经不能用mysql_connect,只能把mysql改为mysqli
这样就可以了
分类: 未分类
-
thinkphp3.2在php7下运行,出现错误”系统不支持:mysql”
n -
正则表达式校验密码问题(要求大小写字母数字特殊符号四选三)
n^(?![a-zA-Z]+)(?![A-Z0-9]+)(?![A-ZW_]+)(?![a-z0-9]+)(?![a-zW_]+)(?![0-9\W_]+)[a-zA-Z0-9W_]{8,}$
n -
PHP实现大数字格式化成K/M/B结尾的简短形式
n
n/**n * 转换数字为简短形式n * @param n int 要转换的数字n * @paramprecision int 精度n */nfunction shortenNumber(n,precision = 1)n{n if (n<1e+3) {nout = number_format(n);n } else if (n < 1e+6) {n out = number_format(n / 1e+3, precision) . 'k';n } else if (n < 1e+9) {n out = number_format(n / 1e+6, precision) . 'm';n } else if (n < 1e+12) {n out = number_format(n / 1e+9, precision) . 'b';n }nreturnout;n} -
和「下一步」说再见!微软发布 Windows 软件包管理器 winget,应用安装仅需一行命令!
n北京时间 5 月 20 日,在 Build 2020 全球开发者大会上,微软发布全新 Windows Package Manager(winget)——Windows 软件包管理器。
nnnn
例如,您可以启动 Windows Package Manager 并运行新的“ winget”命令,以获取要安装的任何应用程序的最新版本。
您只需运行
nnnnwinget install PowerToysn即可安装它,而无需访问Github,第三方网站或Microsoft Store。
nnnn
Windows软件包管理器当前支持以下命令:
nnnninstall - 安装指定的应用程序nshow - 显示关于应用的信息nsource - 管理应用源nsearch - 查找并显示应用的基本信息n这是一个开源项目,微软欢迎全球开发者社区参与!
nnnn
下载地址:GitHub | Windows Package Manager
文档支持:Microsoft Docs | Windows Package Managern
n系统要求:Windows 10 版本 1709 或更高版本
n -
PHP指定时间戳 日期加一天,一年,一周,一月
n
n<?phpnecho date('Y-m-d H:i:s',strtotime('now'));//当前时间戳 2017-01-09 21:04:11necho date('Y-m-d H:i:s',strtotime('+1second'));//当前时间戳+1秒 2017-01-09 21:04:12necho date('Y-m-d H:i:s',strtotime('+1minute'));//当前时间戳+1分 2017-01-09 21:05:11necho date('Y-m-d H:i:s',strtotime('+1hour'));//当前时间戳+1小时 2017-01-09 22:04:11necho date('Y-m-d H:i:s',strtotime('+1day'));//当前时间戳+1天 2017-01-10 21:04:11necho date('Y-m-d H:i:s',strtotime('+1week'));//当前时间戳+1周 2017-01-16 21:04:11necho date('Y-m-d H:i:s',strtotime('+1month'));//当前时间戳+1月 2017-02-09 21:04:11necho date('Y-m-d H:i:s',strtotime('+1year'));//当前时间戳+1年 2018-01-09 21:04:11necho date('Y-m-d H:i:s',strtotime('+12year 12month 12day 12hour 12minute 12second'));//当前时间戳+12年,12月,12天,12小时,12分,12秒 2030-01-22 09:16:23nt=1483967416;//指定时间戳nechodt=date('Y-m-d H:i:s',t);//2017-01-09 21:10:16n/*方法一*/necho date('Y-m-d H:i:s',t+1*24*60*60);//指定时间戳+1天 2017-01-10 21:10:16necho date('Y-m-d H:i:s',t+365*24*60*60);//指定时间戳+1年 2018-01-09 21:10:16n/*方法二*/n//dt是指定时间戳格式化后的日期necho date('Y-m-d H:i:s',strtotime("dt+1day"));//指定时间戳+1天 2017-01-10 21:10:16necho date('Y-m-d H:i:s',strtotime("dt+1year"));//指定时间戳+1年 2018-01-09 21:10:16n/*方法三*/n//t是指定时间戳necho date('Y-m-d H:i:s',strtotime("+1day",t));//指定时间戳+1天 2017-01-10 21:10:16necho date('Y-m-d H:i:s',strtotime("+1year",$t));//指定时间戳+1年 2018-01-09 21:10:16n//指定时间戳加1月、1周、1小时、1分、1秒原理同上; -
sql 根据经纬度查找附近数据
n
nnnnSELECTn ROUND(n 6378.138 * 2 * ASIN(n SQRT(n POW( SIN(( 23.065502 * PI()/ 180-dt_lat * PI()/ 180 )/ 2 ), 2 )+ COS( 23.065502 * PI()/ 180 )* COS( dt_lat * PI()/ 180 )* POW( SIN(( 113.803962 * PI()/ 180- dt_lng * PI()/ 180 )/ 2 ), 2 )))* 1000 n ) AS distance,n a.id,n a.title,n a.price,n a.unit,n a.dt_lat,n a.dt_lng nFROMn `cms_house` AS a nHAVINGn distance <= 1500 nORDER BYn distance ASCnndt_latdt_lng 为表中 经纬度字段
n -
微信云开发——基础读写
n
n// 使用 Web 端 SDKnconst cloudbase = require('tcb-js-sdk')nconst app = cloudbase.init({ /* 初始化... */ })nnconst db = app.database()nn// 插入文档nawait db.collection('messages').add({n author: 'stark',n message: 'Hello World!'n})nn// 查询文档nconst data = await db.collection('messages').where({n author: 'stark'n}).get()nn// 更新文档nawait db.collection('messages').where({n author: 'stark'n}).update({n message: 'Hi, Cloudbase!'n})nn// 删除文档nawait db.collection('messages').where({n author: 'stark'n}).remove() -
上班所闻20200414
n上班路上
n
途径横行马路
群人急着过去
1路公车迎面冲来
大概也是想跑快点,车上的人也急着上班
没想到
压着实线从第一车道,跨到了第二车道
终于停下来了
“那么急的?怎么开车的吖”
有人吐槽
大部分人都匆匆过去
哔~哔~哔~
“哎呀,吵死啦,这不已经在走了吗,车品真差”
被司机喇叭吓到的,说了几句
我跟着人群,也过去了
司机,
还是按着喇叭
注视着第三车道驶来的汽车
手里握着的方向盘
蠢蠢欲动,欲把第三车道也堵上
四月到
疫情稳
气温虽凉
人心常暖 -
php 判断空对象
n场景描述:
nnnn今天有个需求,前端需要post一个二维数据到后端:
nnnn
nnnnvar pageContent =('#admui-pageContent');n ('#btn-y').click(function () {n('.city-selecter').html('');n var pc_cat = ('.pc-cat').html();n var app_cat =('.app-cat').html();n var title = ('input[name="title"]').val();n var sites = [],html='';n('input[name="city[]"]:checked').each(function(){n sites.push((this).val());n html += '<div class="form-group row city-config" data-city="'+(this).val()+'">';n html += '<label class="col-sm-2 control-label">'+(this).val()+'</label>';n html += '<div class="col-sm-4">';n html += '<input type="text" class="form-control " placeholder="请输入标题" name="title" value="'+title+'">';n html += '</div>';n html += '<div class="col-sm-2">';n html += pc_cat;n html += '</div>';n html += '<div class="col-sm-2">';n html += app_cat;n html += '</div>';n html += '<div class="col-sm-2">';n html += '<a class="btn btn-default del" data-cid="'+(this).val()+'">删除</a>';n html += '</div>';n html += '</div>';n // html += '<input type="hidden" name="share['+(this).val()+']" value="'+(this).val()+'">';n });n console.log(sites);n ('.city-selecter').append(html);n });nnpageContent.on('submit', '.page-content form', function (e) { n var data = {};n var i = 0;n ('.city-config').each(function(){n data[i] = {};n data[i]['city'] =(this).attr('data-city');n data[i]['title'] = (this).find('input[name="title"]').val();n data[i]['app_catid'] =(this).find('select[name="app_catid"]').val();n data[i]['pc_catid'] = (this).find('select[name="pc_catid"]').val();n i ++;n })n data = JSON.stringify(data);n('input[name="site_config"]').val(data);n $.pjax.submit(e,'#admui-pageContent', { replace: true });n });nn我把二维数组转为对象序列化再传了.到了服务端,需要判断一下那个值是不是空吧,因为穿空的就无效了.所以得判断一下.
nnnn
开始我是这样想的
nnnnif (request()->isPost()) {n data = input('post.');nsite_config = json_decode(data['site_config']);n if(empty(site_config)) $this->error('参数错误');n ....后来发现,文档中empty()返回值描述没有对象相关的返回,好吧~那应该是对对象不起作用了,好像也没有空对象说法吧,自己挖坑不?!用isset更加不可能了
nnnn
nnnn当var存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE.n 以下的东西被认为是空的:n "" (空字符串)n 0 (作为整数的0)n 0.0 (作为浮点数的0)n "0" (作为字符串的0)n NULLn FALSEn array() (一个空数组)n $var; (一个声明了,但是没有值的变量)灵机一动,想到了这个get_object_vars — 获取给定对象的属性
nnnn
nnnnif (request()->isPost()) {n data = input('post.');nsite_config = json_decode(data['site_config']);n if(empty(get_object_vars(site_config))) $this->error('参数错误');用get_object_vars来获取对象属性,在判断就好了~
n -
ubuntu 新装mysql之后无法登录
nubuntu(linux)新装mysql之后无法登录
nnnn
错误代码:mysql:error 1045(28000):Access denied for user 'root'@'localhost'(诸如此类的错误)这是因为root帐号没有设置密码;
nnnn这时候,我们可以用root权限来登录:
nnnn
nnnnsudo mysql -u root -pn因为在安装mysql的时候没有设置密码,所以root用户的plugin值会变成auth_socket,而不是默认值mysql_native_password
nnnn
所以登录之后需要修改root密码,之后再去更改mysql数据库中user表root用户的plugin值,然后就是刷新一下mysql的用户权限,操作如下:
nnnnset password for 'root'@'locathost' = password('yourpassword');n//设置密码
nnnn
nnnnupdate mysql.user set plugin = 'mysql_native_password' where user = 'root';n//更新plugin值
nnnn
nnnnflush privileges;n//刷新用户权限
nnnn注意:如果直接更改plugin值为mysql_native_password,就可以使root免密码登录
n