1.單引號和雙引號的用法
雙引號串中的內容可以被解釋而且替換,而單引號串中的內容總被認為是普通字元
2.web開發中的安全性問題
1. sql注入攻擊
2. 資料庫操作安全,update、 delete、insert的操作沒有限制使用者操作許可權,這將是一件很危險的事情。
3. 沒有驗證使用者http請求的方式 post 或者 get,get請求被合法通過
4. 沒有驗證表單**的唯一性,不能識別是合法的表單提交還是黑客偽造的表單提交!
3.簡述gbk、gb2312、big5 、gb18030
gb2312支援的漢字較少
gbk是相比gb2312漢字更為豐富
gb18030相比gbk增加了一些少數名族漢字漢字型檔更為多樣,但是常人很難用到,一般簡體中文使用gbk。
正體中文使用big5.
4.如果某段與資料庫互動的程式執行較慢該如何處理
一是首先提高資料庫的查詢速度,比如增加索引,優化表的結構.
二是優化程式**,如果查詢比較多,可以盡量用條件查詢,減少查詢語句,比如能用一條查詢語句就不用兩條.
三就是提高伺服器的速度,優化伺服器,把不必要的程序關掉。
5.儲存過程的使用場景
sql難以實現的複雜邏輯或計算
高併發中避免使用儲存過程
6.get與post提交的區別
get是傳送請求http協議通過url引數傳遞進行接收,
post是實體資料,可以通過表單提交大量資訊.
7.session與cookie的區別?
session:儲存使用者訪問的全域性唯一變數,儲存在伺服器上的php指定的目錄中的(session_dir)的位置進行的存放
cookie:用來儲存連續訪問乙個頁面時所使用,是儲存在客戶端,對於cookie來說是儲存在使用者win的temp目錄中的。
兩者都可通過時間來設定時間長短
8.優化mysql資料庫的方法
1、選取最適用的字段屬性,盡可能減少定義字段長度,盡量把字段設定not null,例如』省份,性別』,最好設定為enum
2、使用連線(join)來代替子查詢:
a.刪除沒有任何訂單客戶:delete from customerinfo where customerid not in(select customerid from orderinfo)
b.提取所有沒有訂單客戶:select from customerinfo where customerid not in(select customerid from orderinfo)
c.提高b的速度優化:select from customerinfo left join orderid customerinfo.customerid=orderinfo.customerid
where orderinfo.customerid is null
3、使用聯合(union)來代替手動建立的臨時表
a.建立臨時表:select name fromnametest
union select username fromnametest2
4、事務處理:
a.保證資料完整性,例如新增和修改同時,兩者成立則都執行,一者失敗都失敗
mysql_query(「begin」);
mysql_query(「insert into customerinfo (name) values ('nam
e1′)
";my
sqlq
uery
("se
lect
∗fro
m『or
deri
nfo『
wher
ecus
tome
rid=
".
name1')"; mysql_query("select * from `orderinfo` where customerid=".
name1′
)";m
ysql
que
ry("
sele
ct∗f
rom『
orde
rinf
o『wh
erec
usto
meri
d=".
id」);
mysql_query(「commit」);
5、鎖定表,優化事務處理:
a.我們用乙個 select 語句取出初始資料,通過一些計算,用 update 語句將新值更新到表中。
包含有 write 關鍵字的 lock table 語句可以保證在 unlock tables 命令被執行之前,
不會有其它的訪問來對 inventory 進行插入、更新或者刪除的操作
mysql_query(「lock table customerinfo read, orderinfo write」);
mysql_query(「select customerid fromcustomerinfo
where id=」.id)
;mys
qlqu
ery(
"upd
ate『
orde
rinf
o『se
tord
erti
tle=
′id); mysql_query("update `orderinfo` set ordertitle='
id);my
sqlq
uer
y("u
pdat
e『or
deri
nfo『
seto
rder
titl
e=′
PHP面試題(附答案)
1.在php中,當前指令碼的名稱 不包括路徑和查詢字串 記錄在預定義變數 1 中 而鏈結到當前頁面的的前一頁面url記錄在預定義變數 2 中 script name也可以 其它的見參考手冊 語言參考 變數 預定義變數 當前執行指令碼的絕對路徑名 d inetpub wwwroot php est.p...
PHP面試題系列五 附答案
一 基礎題 1.寫出如下程式的輸出結果 str1 null str2 false echo str1 str2 相等 不相等 str3 str4 0 echo str3 str4 相等 不相等 str5 0 str6 0 echo str5 str6 相等 不相等 2.寫出如下程式的輸出結果 a1 ...
php面試題彙總二 基礎篇附答案
1.在php中,當前指令碼的名稱 不包括路徑和查詢字串 記錄在預定義變數 1 中 而鏈結到當前頁面的url記錄在預定義變數 2 中。答 echo server php self echo server http referer 2 陣列函式 arsort 的作用是 6 語句 error report...