1樓:匿名使用者
知道就是被樓上的這種垃圾給搞壞的。。。找點書copy過來有什麼意思。。。
要防止sql注入其實不難,你知道原理就可以了。
所有的sql注入都是從使用者的輸入開始的。如果你對所有使用者輸入進行了判定和過濾,就可以防止sql注入了。使用者輸入有好幾種,我就說說常見的吧。
文字框、位址列裡***asp?中?號後面的id=1之類的、單選框等等。一般sql注入都用位址列裡的。。。如果要說怎麼注入我想我就和上面的這位「仁兄」一樣的了。
你只要知道解決對嗎?
對於所有從上一頁傳遞過來的引數,包括 、等等進行過濾和修改。
如最常的***asp?id=123 ,我們的id只是用來對應從select 裡的id,而這id一般對應的是乙個資料項的唯一值,而且是數字型的。這樣,我們只需把id的值進行判定,就可以了。
vbs預設的isnumeric是不行的,自己寫乙個is_numeric更好,對傳過來的引數進行判定,ok,搞定。演算法上的話,自己想想,很容易了。但是真正要做到完美的話,還有很多要計算的。
比如傳遞過來的引數的長度,型別等等,都要進行判定。還有一種網上常見的判定,就是判定傳遞引數的那一頁(即上一頁),如果是正常頁面傳弟過來就通過,否則反之。也有對' or 等等進行過濾的,自己衡量就可以了。
注意一點就是了,不能用上一頁的某乙個不可見"*進行判定,因為使用者完全可以用模擬的形式「複製」乙個和上一頁完全一樣的頁面來遞交引數。這樣,這招就沒用了。。。
ok就說這麼多,還不明白的話,找我。
2樓:匿名使用者
主要原因在於你的表名,因為user是系統掛件字所以要+引號,如果你把user這個錶換個名字在這樣查詢就不會出錯了。
3樓:
select user,返回使用者名稱,user是sql保留關鍵字,如果有其他需要,要加""或來區分,如果不想加引號,建議改個表名。
sql 查詢的結果如何加上單引號。
4樓:網友
2、然後開啟該軟體,依次點選檔案-新建-標準文字,或是直接點選檔案下方的新建圖示,選擇標準文字。
3、然後我們查詢到需要操作的查詢結果。這裡我隨便找了一批資料進行演示。
5、然後點選該文字上方選單欄裡的搜尋-替換,或者按住鍵盤 ctrl+h,開啟替換框,在替換框查詢處輸入回車的正規表示式,替換處輸入','勾選下方的正規表示式,點選全部替換按鈕。
6、這時候這批資料已經變成我們想要的格式了,然後我們將頭補上,尾部去掉多餘的,然後再加上括號,就可以用作其他查詢語句的條件。
5樓:
insert into 另外的表(欄位1,欄位2,欄位3) select user_id,user_realname ,role_id from oa_user
就可以了,加單引號沒必要,你是否弄混了什麼跟什麼吧。
sql建表語句中表名和型別加雙引號什麼意思?
6樓:匿名使用者
sqlserver中,好像雙引號,沒有什麼用吧? 似乎和去掉是一樣的效果。
mysql當然不支援雙引號的。
另外要注意:mysql 是支援 nvarchar、datetime、datetime資料型別 和 identity (1, 1) 的寫法嗎 ?
都需要修改的。
7樓:匿名使用者
報錯的原因是你最後乙個列後面加了","也就是改成 ->photo" "image" null
sql中什麼時候需要用雙引號,什麼時候用單引號;
8樓:匿名使用者
這就要從雙引號和單引號的作用講起:
1,雙引號裡面的字段會經過編譯器解釋然後再當作html**輸出,但是單引號裡面的不需要解釋,直接輸出。例如:
abc='i love u';
echo $abc //結果是:i love u
echo '$abc' /結果是:$abc
echo "$abc" /結果是:i love u
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可以分解為以下3個部分。
1:"select * from table where user='
2:$user
字串之間用 . 來連線。
9樓:匿名使用者
成對的單引號中間代表字串,被視為乙個整體,單引號內字串內容有些需要轉義的情況下,可能需要增加單引號進行轉義,需具體分析;
成對雙引號內代表物件,一些帶有特殊字元的物件在命名和引用時需要用雙引號擴上,比如乙個表名需要命名為 表 1(中間有空格),那麼就需要在命名和引用過程中寫成"表 1",實質上與[表 1]有同等作用。
10樓:哎呀
sql中對字元都是用單引號 只有在表名中比較特殊的 比如兩個單詞組成的表名 才使用雙引號把表名括起來。'用來定界字串,"用來定界識別符號。
你給出的例子中,正好是用兩個單詞組成的表名或列名。
sql語句中什麼時候加雙引號什麼時候不加雙引號?查詢中加不加?
11樓:匿名使用者
關鍵字做列名時需要加雙引號,其他時候可以不加,一般加了雙引號則大小寫敏感。
sql2005中怎麼開啟開啟查詢編輯器 我怎麼用sql語句來建立**和向**裡新增東西,**等待,
12樓:解0人
開啟sql server management studio
連線到你的資料庫,然後新增查詢,寫sql語句。
13樓:
1 開啟sql server management studio2 輸入登入名,密碼。
3 點選新建查詢。
4 use 你的資料庫。
5 建表。create table 名稱。
列1 int ,列2 varchar(50) ,列3 varchar(50) ,列4 int
6 往**新增資料。
insert into 表名(列1,列2,列3,列4) values(值1,'值2','值3',值4)
備註:int不用加單引號,varchar加單引號。
14樓:匿名使用者
開啟sql server management studio,你的資料庫,在表資料夾上右鍵點選新建表,輸入字段,選擇型別後關閉這個會話框。
會提示是否儲存,點選儲存輸入表名。
右鍵重新整理一下表資料夾,出現剛建的新錶,然後右鍵新錶選擇前200項,然後即可錄入資料。
錄入完成後,點選左上角的嘆號執行插入操作。
15樓:特立與獨行
開啟工具欄裡的新建查詢 用sql語句輸入你想要建的表和內容。
sql語句中插入數字是要不要加引號
16樓:網友
這個需要看對應的字段的型別,如果欄位是數值型如 number int 等 都不用加引號,如果字段型別是字串型就要加引號 如char varchar等。
17樓:匿名使用者
字段型別為數字, 插入資料時候不需要加引號。
18樓:木雲成像
插入數字是不需要加引號的,根據字段型別作為依據。
sql中什麼情況下用引號
19樓:匿名使用者
查詢條件為文字格式時要求用引號,如varchar、char型別等,反之數值格式不要加引號,如bit、double、float、int型別等。舉個例子slecet * from a where id='1'slecet * from a where id=1這兩個的區別在於第一條id是字元型的,第二條id為數值型的。
20樓:匿名使用者
輸入的是字串時就用引號。
21樓:邦德和他的
在取列表名的時候,需要使用。
怎樣在sql語句中查詢出重複欄位的記錄
oracle,經過測試的,不知道能不能滿足你的要求。請你看到後一定要回覆我。謝謝。sql kokooa select from test015 id name mapid comname 1001 甲方 123 零件1 1002 乙方 234 零件2 1001 甲方 145 1003 丙方 零件3 ...
散打實戰我總是在進攻時猶豫,總是擔心自己打不到對方反而被對方打中,怎麼解
月下殘鋒 格鬥最忌諱的就是猶豫。你下次就別管那麼多,別想著打不中怎麼辦,只管出招就對了。我當年接受我爺爺的訓練時也有過你這種情況。後來老爺子跟我說不能猶豫,如果你認為這一招有用,那就打出去好了 後頸部,耳後下頜骨的那個凹陷,基本上只要力量大,不打住頭部要害都行。最近在練習散打,可是我對實戰總是害怕,...
在我上網時,我的電腦總是自動彈出網頁,這是怎麼回事,有什麼解決方法嗎
5.對於單一的彈出 網頁 你可以試試下面的方法 找到 複製 它的位址。然後在ie裡通過 工具 internet選項 安全,點選 請為不同區域的web內容指定安全設定 下的 受限站點 然後點選下面的 站點 按鈕,然後在 將該 新增到區域 中將這個 複製進去,點選 確定 即可。安裝黃山ie修復 一般都會...