TinkPHP 简单知识摘要
1、Session处理
赋值:session('name','value'); //设置session 与 $_SESSION['think']['name'] = 'value';相等
取值:$value = session('name'); $value = $_SESSION['think']['name'];//相同
删除:session('name',null); unset($_SESSION['think']['name']);//相同
清空:session(null); unset($_SESSION['think']); //相同
判断:session('?name'); isset($_SESSION['think']['name']); //相同
2、M方法:
添加:
$User = M("User"); // 实例化User对象
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->add($data);
或者$User->data($data)->add(); 查询:
$User = M("User"); // 实例化User对象
// 查找status值为1的用户数据 以创建时间排序 返回10条数据
$list = $User->where('status=1')->order('create_time')->limit(10)->select();
$User = M("User"); // 实例化User对象
// 查找status值为1name值为think的用户数据
$User->where('status=1 AND name="think"')->find();//一条数据
$User = M("User"); // 实例化User对象
// 获取所有用户的ID和昵称列表
$list = $User->getField('id,nickname');//二级数组
$this->getField('id,name',5); // 限制返回5条记录
$this->getField('id',3); // 获取id数组 限制3条记录 更新:
$User = M("User"); // 实例化User对象
// 要修改的数据对象属性赋值
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->save($data); // 根据条件保存修改的数据 $User = M("User"); // 实例化User对象
// 要修改的数据对象属性赋值
$data['name'] = 'ThinkPHP';
$data['email'] = 'ThinkPHP@gmail.com';
$User->where('id=5')->data($data)->save(); // 根据条件保存修改的数据 $User = M("User"); // 实例化User对象
// 更改用户的name值
$User-> where('id=5')->setField('name','ThinkPHP'); $User = M("User"); // 实例化User对象
// 更改用户的name和email的值
$data = array('name'=>'ThinkPHP','email'=>'ThinkPHP@gmail.com');
$User-> where('id=5')->setField($data);
3、
explode() :函数把字符串分割为数组 implode() 函数把数组元素组合为一个字符串。join() 函数是 implode() 函数的别名。
in_array(被判断的,数组)//判断一个字符串是否存在于一个数组中
4、事务处理 注意mysql 是InnoDB 才行
public function rollback(){
$M=M("Rollback");
$M->startTrans();//开启事务
$array=array("name"=>"hehe","sex"=>"men");
if($M->add($array) && $M->where("id in (14,15)")->delete())
{
echo "操作成功!";
$M->commit();//提交事务成功
}else{
echo "操作失败!";
$M->rollback();//事务有错回滚
}
}
5、C 函数 用来处理config.php 文件内容
//config.php
<?php
return array(
// 数据库类型
'DB_TYPE' => 'mysqli',
// 服务器地址
'DB_HOST' => 'localhost',
// 数据库名
'DB_NAME' => 'NT',
// 用户名
'DB_USER' => 'root',
// 密码
'DB_PWD' => 'root',
// 端口
'DB_PORT' => 3306,
// 数据库表前缀
'DB_PREFIX' => 'hf_',
//可登录ip
'CLOGINIP'=>array('127.0.0.1','172.18.10.222','172.18.10.223')
);
if(in_array($_SERVER['REMOTE_ADDR'], C('CLOGINIP')))
{
echo '可以登录!';
}
TinkPHP 简单知识摘要的更多相关文章
- 关于trunk、access以及hybrid的一些简单知识
关于trunk.access以及hybrid的一些简单知识:Access 类型的端口只能属于 1 个 VLAN ,一般用于连接计算机的端口: Trunk 类型的端口可以允许多个 VLAN 通过,可以接 ...
- svn的简单知识
svn的简单知识 一.简介: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统, 它的设计目标就是取代CVS.互联网上很多版本控制服务已从 ...
- JavaScript学习笔记(一):介绍JavaScript的一些简单知识
JavaScript是世界上最流行的编程语言.这门语言可用于HTML和web,更可广泛用于服务器.PC.笔记本电脑和智能手机等设备.---------------------------------- ...
- Hadoop入门必须知道的简单知识
Hadoop入门知识 Hadoop构成 Hadoop由4个主要构成部分: 1) 基础核心:提供基础的通用的功能 2) HDFS:分布式存储 3) MapReduce:分布式计算 4) YARN:资源分 ...
- 学习python的第一天,python的简单知识
python 是现如今比较火的一种编程语言.在抱着试试的态度我来进行学习下python.要学习python 要先进行环境的安装. 下面是下载链接:https://pan.baidu.com/s/1PW ...
- 编写一个简单的flask的前后端交互的网页(flask简单知识的讲解)
实验原理: 1.什么是flask Flask是一个使用Python编写的轻量级Web应用框架,其WSGI工具采用Werkzeng,模板引擎使用Jinja2.Flask与 Django之间的区别就是Dj ...
- PHP 安全相关 简单知识
概要: 1.php一些安全配置 (1)关闭php提示错误功能 (2)关闭一些“坏功能” (3)严格配置文件权限. 2.严格的数据验证,你的用户不全是“好”人 2.1为了确保程序的安全性,健壮性,数据验 ...
- CSS基础知识摘要
元素分类 块级元素 什么是块级元素?在html中<div>. <p>.<h1>.<form>.<table>.<ul> 和 &l ...
- SQLite 知识摘要 --- 线程模式、事务模式
本篇主要从SQLite事务执行的原理中寻找如何更高效地使用它. 本篇预备知识 我们先来了解下SQLite执行事务的基本流程,状态变化过程,再分析怎么使用才更优.SQLite定义的锁的状态有如下几种: ...
随机推荐
- 【LeetCode-面试算法经典-Java实现】【114-Flatten Binary Tree to Linked List(二叉树转单链表)】
[114-Flatten Binary Tree to Linked List(二叉树转单链表)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given a bin ...
- php编译安装与配置
php编译安装与配置 =========================================== 官网:http://php.net/ 官网下载:http://php.net/downlo ...
- 一个简单的数据增量更新策略(Android / MongoDB / Django)
我在做个人APP - CayKANJI - 的时候遇到一个问题: 如何增量式地把日语汉字数据地从server更新到APP端,即每次用户运行更新操作时,仅仅获取版本号高于本地缓存的内容. 数据格式 为了 ...
- 编辑器模式下如何实例化Prefab
当我们在EditMode下需要用脚本批量添加prefab时,可以用 PrefabUtility.InstantiatePrefab(prefab) as GameObject; 注意:如果用GameO ...
- android shape的用法总结
参考代码: <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corner ...
- obj-c学习笔记
本文转载至 http://blog.csdn.net/c395565746c/article/details/7573793 当对象经过在dealloc方法处理时,该对象就已经处于已销毁状态,其它 ...
- 【BZOJ1125】[POI2008]Poc hash+map+SBT
[BZOJ1125][POI2008]Poc Description n列火车,每条有l节车厢.每节车厢有一种颜色(用小写字母表示).有m次车厢交换操作.求:对于每列火车,在交换车厢的某个时刻,与其颜 ...
- Random Fourier Features
K-DSN 深度堆叠网络 Random Features for Large-Scale Kernel Machines To accelerate the training of kernel ma ...
- 【python】-- 信号量(Semaphore)、event(红绿灯例子)
信号量(Semaphore) 之前讲的线程锁(互斥锁) 同时只允许一个线程更改数据,而Semaphore是同时允许一定数量的线程更改数据 ,比如厕所有3个坑,那最多只允许3个人上厕所,后面的人只能等里 ...
- Python菜鸟之路:Python基础-模块
什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,分组的规则就是把实现了某个 ...