国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
關(guān)于SQL語句中的雙引號(hào)、單引號(hào)和&

 

關(guān)于SQL語句中的雙引號(hào)、單引號(hào)和&
 

這就要從雙引號(hào)和單引號(hào)的作用講起:

雙引號(hào)里面的字段會(huì)經(jīng)過編譯器解釋然后再當(dāng)作HTML代碼輸出,但是單引號(hào)里面的不需要解釋,直接輸出。例如:

$abc='I love u';

echo $abc //結(jié)果是:I love u

echo '$abc' //結(jié)果是:$abc

echo "$abc" //結(jié)果是:I love u

所以在對(duì)數(shù)據(jù)庫里面的SQL語句賦值的時(shí)候也要用在雙引號(hào)里面SQL="select a,b,c from ..."

但是SQL語句中會(huì)有單引號(hào)把字段名引出來

例如:select * from table where user='abc';

這里的SQL語句可以直接寫成SQL="select * from table where user='abc'"

但是如果象下面:

$user='abc';

SQL1="select * from table where user=' ".$user." ' ";對(duì)比一下

SQL2="select * from table where user=' abc ' "

我把單引號(hào)和雙引號(hào)之間多加了點(diǎn)空格,希望你能看的清楚一點(diǎn)。

也就是把'abc' 替換為 '".$user."'都是在一個(gè)單引號(hào)里面的。只是把整個(gè)SQL字符串分割了。

SQL1可以分解為以下3個(gè)部分

1"select * from table where user=' "

2$user

3" ' "

字符串之間用 . 來連接,這樣能明白了吧。

   (1)先來看一個(gè)最簡單的SQL語句
Insert Into users(username) values("小王")

大家來看一下,這是一個(gè)標(biāo)準(zhǔn)的SQL語句,因?yàn)?span lang="EN-US">username是文本型字段,所以字段值兩邊要加雙引號(hào),表示小王是一個(gè)字符串。

2)可是在ASP中,我們通常這樣寫

strSql="Insert Into users(username) values('小王')"

此時(shí),前后的雙引號(hào)表示中間是一個(gè)字符串。而小王兩邊的單引號(hào)是因?yàn)榘l(fā)生了引號(hào)嵌套,所以內(nèi)層引號(hào)該為了單引號(hào)。

3)實(shí)際插入時(shí),因?yàn)樾⊥跬ǔJ菑谋韱沃蝎@取的變量,不過因?yàn)樽兞坎荒苤苯訉懭胱址仨毻ㄟ^連接符&和字符串連接在一起,所以要寫成如下形式:

myusername=Request.Form("username")

strSql="Insert Into users(username) values('"&myusername&"')"

很多人此時(shí)就糊涂了,為什么其中又有單引號(hào),又有雙引號(hào)啊。簡單的看上面的式子,其實(shí)是由如下三部分組成的:

字符串常數(shù):"Insert Into users(username) values('"

字符串變量:myusername

字符串常數(shù):"')"

直接理解上面的式子可能比較困難,現(xiàn)在我們變量myusername的值代入就能看清楚了。假如myusername="小王",代入:

strSql="Insert Into users(username) values('"&"小王"&"')"

然后依次執(zhí)行其中的連接運(yùn)算符,結(jié)果為:

strSql="Insert Into users(username) values('小王')"

這就是(2)中提到的正確的SQL語句。

到此就能看清楚了:

式子中第12個(gè)雙引號(hào)配套,表示這是一個(gè)字符串。第3、4個(gè)雙引號(hào)配套,也表示是一個(gè)字符串。

而式子中的單引號(hào)就是文本型字段值小王前后的單引號(hào)。

4)上面只有一個(gè)字段,下面來看一個(gè)有兩個(gè)字段的情況:

strSql="Insert Into users(username,password) values('"&myusername&"', '"&mypassword&"')"

其中myusernamemypassword是變量。

現(xiàn)在假如myusername="小王"mypassword="123456",代入其中,結(jié)果為:

strSql="Insert Into users(username, password) values('"&"小王"&"', '"&"123456"&"')"

依次執(zhí)行連接運(yùn)算,結(jié)果為:

strSql="Insert Intou sers(username, password) values('小王', '123456')"

5)文本型字段值兩邊加引號(hào),日期型兩邊加#,數(shù)字、邏輯兩邊什么都不用加。

如下面age是數(shù)字,submit_date是日期型。

strSql="Insert Into users(username, password,age, submit_date)    values('"&myusername&"' ,'"&mypassword&"' ,"&myage&", #"&mysubmit_date&"#)"

注意這里根據(jù)字段的類型兩邊加上相應(yīng)的符號(hào),或者不加。假如myusername="小王",mypassword="123456"myage=20,mysubmit_date="2004-4-1",代入其中,結(jié)果為:

strSql="Insert Into users(username,password,age,submit_date) values('"&小王"&"','"&"123456"&"',"&20&",#"&"2004-4-1"&"#)"

這里的20很特殊,運(yùn)算時(shí),首先會(huì)自動(dòng)轉(zhuǎn)換為字符串,因?yàn)檫@里參與運(yùn)算的都是字符串。結(jié)果為:

strSql="Insert Into users(username, password,age,submit_date) values('"&小王"&"','"&"123456"&"',"&"20"&",#"&"2004-4-1"&"#)"

依次執(zhí)行連接運(yùn)算,結(jié)果為:

strSql="Insert Into users(username, password,age,submit_date) values('小王','123456',20,#2004-4-1#)"

這正是我們需要的標(biāo)準(zhǔn)的SQL語句。

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SQL 語句中單引號(hào)、雙引號(hào)的用法
JDBC為什么要使用PreparedStatement而不是Statement
關(guān)于SQL語句中的引號(hào)問題
sql 處理數(shù)據(jù)字段為NULL 若不為空則顯示該值,若為空轉(zhuǎn)換成別的值。
PHP開發(fā)絕對(duì)不能違背的安全鐵則
python 單引號(hào) 雙引號(hào) 三引號(hào) 區(qū)別
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服