php数据入库前清理 注意php intval与mysql的int取值范围不同


Posted in PHP onDecember 12, 2010

php保存数据到mysql
打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval。
有一天突然想起,php intval的取值范围与mysql的int类型一样吗?
查了一下,不一样……
http://php.net/manual/en/function.intval.php
http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types
php intval的取值范围:与操作系统相关,32位系统上为-2147483648到2147483647,64位系统上为-9223372036854775808到9223372036854775807。
mysql int取值范围:与操作系统无关,为-2147483648到2147483647,无符号为0到4294967295。
mysql bigint取值范围:与操作系统无关,为-9223372036854775808到9223372036854775807,无符号为0到18446744073709551615。
所以下面的代码是错误的:

public function insert($data) 
{ 
if(isset($data['content'])&&!empty($data['content'])) 
{ 
$data_for_query['content'] = trim($data['content']); 
} 
else 
{ 
return false; 
} 
if(isset($data['user_id'])&&!empty($data['user_id'])) 
{ 
$data_for_query['user_id'] = intval($data['user_id']); 
} 
else 
{ 
return false; 
} 
$sql = "INSERT INTO `".$this->table_name."` (".$this->db->implodeToColumn(array_keys($data_for_query)).") VALUES (".$this->db->implodeToValues(array_values($data_for_query)).")"; 
$this->db->query($sql); 
$id = $this->db->lastInsertId(); 
if(empty($id)) 
{ 
return false; 
} 
else 
{ 
return $id; 
} 
}

解决办法:还在想,准备用正则表达式。
PHP 相关文章推荐
特详细的PHPMYADMIN简明安装教程
Aug 01 PHP
vs中通过剪切板循环来循环粘贴不同内容
Apr 30 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
PHP判断图片格式的七种方法小结
Jun 03 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 PHP
php运行时动态创建函数的方法
Mar 16 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
Sep 23 PHP
php array_map使用自定义的函数处理数组中的每个值
Oct 26 PHP
降低PHP Redis内存占用
Mar 23 PHP
laravel migrate初学常见错误的解决方法
Oct 11 PHP
php 高性能书写
Dec 11 #PHP
php foreach 参数强制类型转换的问题
Dec 10 #PHP
snoopy 强大的PHP采集类使用实例代码
Dec 09 #PHP
PHPwind整合最土系统用户同步登录实现方法
Dec 08 #PHP
php iconv() : Detected an illegal character in input string
Dec 05 #PHP
php printf输出格式使用说明
Dec 05 #PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 #PHP
You might like
虹吸壶煮咖啡26个注意事项
2021/03/03 冲泡冲煮
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
2016/06/30 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
javascript中的隐式调用
2018/02/10 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
JavaScript执行环境及作用域链实例分析
2018/08/01 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
浅谈JS的原型和继承
2019/05/08 Javascript
Node如何后台数据库使用增删改查功能
2019/11/21 Javascript
python实现的文件夹清理程序分享
2014/11/22 Python
Python自动调用IE打开某个网站的方法
2015/06/03 Python
Python文本相似性计算之编辑距离详解
2016/11/28 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
Python pandas库中的isnull()详解
2019/12/26 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
python实现一个猜拳游戏
2020/04/05 Python
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
2014年三万活动总结
2014/04/26 职场文书
母亲节寄语大全
2015/02/27 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android