SELECT
単純な句でテーブルを実行すると、WHERE
完全に一致しないレコードが返されると、奇妙な動作が発生します。
私のテーブルにはid int(11)
主キーとして列があります。たとえば、ID 5350 のレコードを検索するには、次の 2 つのクエリはどちらも ID 5350 のレコードを返します。
SELECT * FROM mytable WHERE id="5350"
SELECT * FROM mytable WHERE id="5350abcd"
私が考えていたのは、5350 前後の "" を削除することでしたが、同じ結果が得られました。codeigniter で、私はこれを試しました:
$where = "id=$my_id";
$this->db->where($where);
なぜこれが起こっているのですか?正確でないIDがレコードを見つけられないように修正するにはどうすればよいですか?