首頁 後端開發 php教程 php整型溢出有关问题

php整型溢出有关问题

Jun 13, 2016 am 10:19 AM
key nbsp quot table

php整型溢出问题
今天在写个程序 发现插入的MYSQL数据和POST的不一致 调试发现是数据转换时发生的错误

比如一个手机号 我想转换为int 这个手机号是任意字符 不是手机号则false 以前都是用intval
比较好用 比如
if(intval('13688017729'))
...然后继续 

发现
echo intval('13688017729');这句不等于13688017729了 

我的PDO是这样搞的 帮我看下怎么完善下 修改这个BUG

if (array_key_exists($key, $data)) {
  if (isset($data[$key])) {
  if ($table_column[$key]["d_type"] == "decimal" || $table_column[$key]["d_type"] == "double") {
  $newdata[$key] = doubleval($data[$key]);
  } elseif ($table_column[$key]["d_type"] == "int" || $table_column[$key]["d_type"] == "smallint" || $table_column[$key]["d_type"] == "tinyint" || $table_column[$key]["d_type"] == "mediumint" || $table_column[$key]["d_type"] == "bigint") {
  $newdata[$key] = intval($data[$key]);
  } elseif ($table_column[$key]["d_type"] == "float") {
  $newdata[$key] = floatval($data[$key]);
  } else {
  $newdata[$key] = $data[$key];
  }
  }
  }

------解决方案--------------------
不能这样做!手机号码已经超出整型数的表示范围了
要检查他是否全由数字组成可用 is_numeric 函数或正则
------解决方案--------------------
出现错误是因为数据库长度溢出 而不是因为你的类型转换.所以如果想存储手机号的话可以将字段类型修改成bigint

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

解決方法:您的組織要求您更改 PIN 碼 解決方法:您的組織要求您更改 PIN 碼 Oct 04, 2023 pm 05:45 PM

解決方法:您的組織要求您更改 PIN 碼

Windows 11 上調整視窗邊框設定的方法:變更顏色和大小 Windows 11 上調整視窗邊框設定的方法:變更顏色和大小 Sep 22, 2023 am 11:37 AM

Windows 11 上調整視窗邊框設定的方法:變更顏色和大小

如何在 Windows 11 上變更標題列顏色? 如何在 Windows 11 上變更標題列顏色? Sep 14, 2023 pm 03:33 PM

如何在 Windows 11 上變更標題列顏色?

Windows 11 上啟用或停用工作列縮圖預覽的方法 Windows 11 上啟用或停用工作列縮圖預覽的方法 Sep 15, 2023 pm 03:57 PM

Windows 11 上啟用或停用工作列縮圖預覽的方法

OOBELANGUAGE錯誤Windows 11 / 10修復中出現問題的問題 OOBELANGUAGE錯誤Windows 11 / 10修復中出現問題的問題 Jul 16, 2023 pm 03:29 PM

OOBELANGUAGE錯誤Windows 11 / 10修復中出現問題的問題

Windows 11 上的顯示縮放比例調整指南 Windows 11 上的顯示縮放比例調整指南 Sep 19, 2023 pm 06:45 PM

Windows 11 上的顯示縮放比例調整指南

10種在 Windows 11 上調整亮度的方法 10種在 Windows 11 上調整亮度的方法 Dec 18, 2023 pm 02:21 PM

10種在 Windows 11 上調整亮度的方法

如何在Safari中關閉iPhone的隱私瀏覽身份驗證? 如何在Safari中關閉iPhone的隱私瀏覽身份驗證? Nov 29, 2023 pm 11:21 PM

如何在Safari中關閉iPhone的隱私瀏覽身份驗證?

See all articles