2017-02-14 11 views
0

私はORACLEデータベースを使用しています。重複したデータを検出する方法は、テキストでも大文字でも大文字でもあります。ORACLEは、テキストが小文字でも大文字でも重複データを検出します。

テーブルがすでに挿入されていると仮定します。生産 生産を追加します(小文字)。重複を検出する必要があります。私の現在のケースでは、それは検出されず、挿入されませんでした。ここで

はサンプルクエリです:

SELECT * FROM tb_departments WHERE DEPARTMENT_NAME = '" . $getDepartmentName . "'; 

誰もがアイデアを持っていますか?

+0

FYI:https://www.owasp.org/index.php/SQL_Injection –

答えて

2

あなたはコード内であなたの入力文字列を大文字にし、また

SELECT * FROM tb_departments WHERE UPPER(DEPARTMENT_NAME) = '" . $yourUpperDepartmentName . "'; 

を使用することができますように小さな変化すなわち

SELECT * FROM tb_departments WHERE UPPER(DEPARTMENT_NAME) = UPPER('" . $getDepartmentName . "'); 

、あなたの文字列を大文字た、UPPER(またはLOWER)機能を使用することができますあなたのクエリに直接パラメータ文字列($getDepartmentName)を注入するのではなく、クエリパラメータを使用することをお勧めします。

関連する問題