我的sql2005在查詢時總是需要在表名上加引號

2023-04-20 04:45:15 字數 4426 閱讀 1414

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修復 一般都會...