私はmysqlとphp(Laravel)を使用しており、非常に奇妙な状況に直面しています。これはMySQLのバグですか?
私は暗号化されたユーザータイプとユーザーIDを取得し、それを解読しようとしています。そのユーザーIDのレコードを検索します。
私のコードはこのようです。私はLaravelフレームワークを使用しています。
$key = Config::get('app.key');
$decodedUserIDwithType = base64_decode($encryptedUserIDwithType);
$decryptedUserIDwithType = mcrypt_decrypt(XXXXX , $key, $decodedUserIDwithType, XXXXXX);
$userIDwithType = $decryptedUserIDwithType;
私はので、私はここで、それは100で、@でそれを爆発し、ユーザIDを検索します。この
[email protected]
のようなものにするためにデコード値を期待しています。
私は手動で1文字または2文字を追加して暗号化された値を変更しました。私は解読とき、私は
[email protected]������������������������]u甀�+&�fj�W�ZЪS��d��]3�]"
のようなものを持って、私はこれを爆発後100���]u甀�+&�fj�W�ZЪS��d��]3�]"
は、今私が使用して同じIDを持つすべてのRAWを選択すると、私はIDを取得します。 ID = $ ID
はそれがID = 100であっても、実際のIDとrecordesを選択しますテーブルFROM
SELECT *は100���]u甀�+&�fj�W�ZЪS��d��]3�]"
とても奇妙です。 id列の型がINT
の場合、それが一致している可能性があります。
しかし、私の考え方からは、これが原因で私のロジック全体が正しくないので、非常に悪いです。
Laravelとraw MySQL Queryの両方でこのクエリを確認したところ、結果は同じです。
ご意見ありがとうございます。
UPDATE
は、私は影が言及した点をご理解、しかし、このような シナリオをどのように処理するか、解読から、私は100のようなIDを期待しています場合、私 は、1ASASASのようなものを得た場合intにキャストすると1になります(これは例えば です)。今問題は私のデータベースにはユーザID 1 もあるので、 間違ったユーザを取得するため、私はどれくらいの悩みがあるのかを見ることができます。悲しいことに、これは支払いに関するものです:P。いくつかの間違った ユーザーの財布が補充されます。これはバグではありません。この
使用しているMySQLのバージョンは? – gabe3886
バージョン:5.5.42 –
私はそれがあなたのコラムのエンコーディングだと思っています – Beginner