gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章php数据入库前清理 注意php intval与mysql的int取值范围不同由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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 intval与mysql的int取值范围不同的文章就讲到这里了,如果你想了解更多关于php数据入库前清理 注意php intval与mysql的int取值范围不同的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com