独自の PDO ステートメント (ハードコード) で CodeIgniter を使用しています。別のテーブルへの外部キーである ID をクリックしようとすると、phpmyadmin でエラーが発生します。Phpmyadmin で外部キーを使用している場合、外部キーはそのテーブルへのハイパーリンクとして表示されます
これは例です:
ただし、コマンドラインに移動すると、次のようになります。
mysql> select * from session WHERE anum = 'A00163047';
+------------+-----------+------+---------+---------------------+-----------------+--------+
| session_id | anum | why | aidyear | signintime | studentcomments | status |
+------------+-----------+------+---------+---------------------+-----------------+--------+
| 184 | A00163047 | 4 | 14-15 | 2013-02-17 23:21:47 | | 0 |
+------------+-----------+------+---------+---------------------+-----------------+--------+
1 row in set (0.00 sec)
また、これらは異なる ID ですが、それでもエラーが持続することに注意してください。
anum = 'whatever id' を追加すると、クエリが返されるようです。データを取得してテーブルに入れるときに心配する必要がありますか?
XSS をオンとオフ (グローバル) の両方でこれを複製しようとしましたが、form_validation の実行可能なすべての組み合わせを試しましたが、それでも同じエラーが発生します。これはなぜですか?これにより、データがどこかで破損しているのではないかと心配しています。
編集1:
回答に基づいて、人々は実際の値が _27A0000000_27 であると考えています
これは当てはまりません。phpmyadmin ハイパーリンクをクリックすると、_27(whatever)_27 が追加され、エラーが発生します。選び方を知っている
例:select * from whatever WHERE anum = 'Whatever';
編集2:
phpmyadmin でハイパーリンクをクリックすると、次のような select ステートメントが自動的に生成されます。