ホームページ >バックエンド開発 >PHPチュートリアル >データベースの int フィールド型に関連する問題について考えたこともありませんでした。

データベースの int フィールド型に関連する問題について考えたこともありませんでした。

WBOY
WBOYオリジナル
2016-06-13 12:15:211364ブラウズ

データベースの int フィールド型の問題について考えたこともありませんでした。 ! ! !
データベース内の int(4) と int(10) には違いがありますか?

phpのtime()の場合、タイムスタンプはint(?)で書くべきでしょうか?

なぜなら

の出力が実際には
2147483647

であることを偶然発見したからです。これは、前の知識ポイントを少し覆すものです。SQL インジェクションを防ぐすべての方法で intval を追加できるわけではありません。
誰がそれを説明できますか?
-----解決策----------------------
データベースint(4) と int(10) の間に定性的な違いはありません。 UNSIGNED ZEROFILL 属性がある場合、出力幅を制御できます (先頭に 0 を付けます)


---- --解決策-------
何も持っていない場合は、公式マニュアルで非常にわかりやすく説明されています。そのためには、公式マニュアルをよく読み、盲目的に結論を出さないでください。

最大値はオペレーティング システムによって異なります。 32 ビット システムでの符号付き整数の最大範囲は、-2147483648 ~ 2147483647 です。たとえば、このようなシステムでは、intval('1000000000000') は 2147483647 を返します。64 ビット システムでは、符号付き整数値の最大値は 9223372036854775807 です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。