-
select * from users where useraccount=" + "'" + username + "'" + "and userpwd=" + "'" + strmd5 + "'"
select * from users where useraccount='username1' and userpwd='md5pwd'
這是從 C 語翻譯而來的 SQL 語句,其中單引號表示在資料庫中使用字元類,例如 Id Like'aaa001',雙引號表示 C 內部的字串。 建議使用 like 而不是 = 來比較資料庫中的字元類
select * from users where useraccount like 'username1' and userpwd like 'md5pwd'(在使用者表中查詢使用者名稱。"username1"MD5加密後的密文是"md5pwd",如果存在,則表示使用者的使用者名稱與密碼一致,並允許使用者登入系統。
-
字元和字串應使用單引號後跟雙引號,整數和浮點數應使用雙引號。
-
這要從雙引號和單引號的作用開始
1.雙引號中的字段會由編譯器解釋,然後輸出為html**,但單引號中的字段不需要解釋,直接輸出。 例如:
abc='i love u';
回聲$abc結果是:我愛你
echo '$abc'結果:$abc
echo "$abc"結果是:我愛你
2、所以在資料庫中分配SQL語句時,也應該用雙引號sql="select a,b,c from .."
3,但 SQL 語句中會有單引號來括欄位名。
例如:select * from table where user='abc';
SQL 語句可以寫成 sql="select * from table where user='abc'"
4、但如果如下所示:
user='abc';
sql1="select * from table where user=' ".$user." ' ";反差。
sql2="select * from table where user=' abc ' "
5.我在單引號和雙引號之間多加了一點空格,希望大家能看清楚。
也就是說,把'abc'替換為'".$user."'這一切都在乙個引號中。 只是整個SQL字串被拆分了。
SQL1 可以分解為以下三個部分:
1:"select * from table where user=' "
2:$user
使用進行連線。
-
如果需要對單引號中的字串內容進行轉義,可能需要新增單引號進行轉義,這需要分析。
成對的雙引號表示物件,有些帶有特殊字元的物件在命名和引用時需要用雙引號放大,例如,乙個表名需要命名為表1(中間有空格),然後在命名和引用過程中需要寫出來"表1",基本等同於[表1]。
-
在 SQL 中,字元用雙引號括起來,只有在更特殊的表名(例如兩個單詞的表名)中,才用雙引號括起來。 '用於分隔字串,"用於分隔識別符號。
在您給出的示例中,它正好是乙個由兩個單詞組成的表名或列名。