$ stmt-> bind_param()は、特定のタイプの指定された変数をチェックせず、指定されたタイプに変換するだけです。そして、文字列'aaaaaaa'はint-value:0に変換されます。これがphpの方法です。
データベースの挿入ステートメントは、変数に有用な/正しい値が含まれているかどうかを確認するのに間違った場所です。前にそれを行い、検証が機能する場合にのみ挿入してみてください。
intの検証を行うには、php関数is_numeric()またはis_int()を使用できます。