php データ型について
解決したいこと
htmlのformタグの中にtype=daytaime_localのinputを設定して、ブラウザで入力してもらった値をSQLiteに入れるところで質問があります。
SQLiteのフィールドにはすでにinteger型のフィールドを追加しています。
daytime_localの中身(POSTされてきた値)をそのままデータベースに入れると
2021-08-24T14:23
といった形で入るのですが、整数以外(-やTなど)が含まれているため、integerには入らないのでなにかしらのエラーが出るのかなと思ったのですがそのまま入ってしまいました。
phpは動的型付け言語なのでデータ型を文字列からintegerに変換してくれている(かもしれない)のはわかるのですが整数以外も使われているのになぜデータに登録できてしまうのでしょうか?
ちなみに、データをvar_dumpで取り出すとstringで返ってきます
予想している理由
・integerは「符号付整数」であるが実は文字も登録できる
・integerという設定を無視して文字列stringで入っている
文字ばかりの質問で見にくくてすいません。
0