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 相关文章推荐
使用php来实现网络服务
Sep 15 PHP
PHP版 汉字转码的实现详解
Jun 09 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
php解决约瑟夫环示例
Apr 09 PHP
php树型类实例
Dec 05 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
php 微信公众平台开发模式实现多客服的实例代码
Nov 07 PHP
thinkPHP简单实现多个子查询语句的方法
Dec 05 PHP
php实现的读取CSV文件函数示例
Feb 07 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
PHP实现小程序批量通知推送
Nov 27 PHP
实例讲解PHP中使用命名空间
Jan 27 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
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
Prototype Class对象学习
2009/07/19 Javascript
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
重写javascript中window.confirm的行为
2012/10/21 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
Python 元组(Tuple)操作详解
2014/03/11 Python
python中Genarator函数用法分析
2015/04/08 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
Python中的取模运算方法
2018/11/10 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
如何教少儿学习Python编程
2020/07/10 Python
常用的10个Python实用小技巧
2020/08/10 Python
详解python对象之间的交互
2020/09/29 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
促销活动策划方案
2014/01/12 职场文书
2016年师德学习心得体会
2016/01/12 职场文书