PHP面試題收藏

2021-05-12 22:30:34 字數 2853 閱讀 8760

如何配置、使用和清除smarty快取?

1、smarty快取的配置

$smarty->cache_dir = 「/caches/」; //快取目錄

$smarty->caching = true; //開啟快取,為flase的時侯快取無效

$smarty->cache_lifetime = 60; //快取時間

2、smarty快取的使用和清除

$smarty->display(』cache.tpl』, cache_id); //建立帶id的快取

$smarty->clear_all_cache(); //清除所有快取

$smarty->clear_cache(』index.htm』); //清除index.tpl的快取

$smarty->clear_cache(』index.htm』,cache_id); //清除指定id的快取

介紹一下cookie和session及他們之間的區別 :

在非常多時候,我們需要跟蹤瀏覽者在整個**的活動,對他們身份進行自動或半

自動的識別(也就是平時常說的**登陸之類的功能),這時候,我們常採用cookie

與 session來跟蹤和判斷。

區別:session資訊是存放在server端,但session id是存放在client cookie的,當然php

的session存放方法是多樣化的,這樣就算禁用cookie一樣可以跟蹤

cookie是完全保持在客戶端的如:ie firefox 當客戶端禁止cookie時將不能再使用

php 開發的一般流程是什麼?

1、盡量完整的需求方案,具體到每個功能點上

2、建模結構uml,通過uml工具建立專業的模或自己畫乙個簡單的關係圖。

3、建立資料庫

1)、建立的表名、欄位名要與他的功能有關係英文不好的拼音同樣可以

2)、根據結構建立資料庫表,原則是不定項內容一定要分表。

3)、字段型別要考慮內容是否夠用就好,選擇適合的型別 int varchar date

4、設計html

檔案和指令碼的實現

根據模和資料庫來設計頁面是個很科學的方法,當然有的時候有人喜歡根據模型設計頁面,資料庫基於頁面設計,都是可以的。設計頁面時要考慮到每個細節,包括提示訊息頁面,錯誤頁面。

5、php**的書寫

1)、先建立底層結構和資料夾(如果是大型的**同樣設計乙個檔案uml

2)、基礎功能分類關聯,以便今後**引用。

3)、**的書寫,注意簡潔性和函式的使用,內部函式能實現的盡量用內部函式

4)、在部分關鍵位置加以**注釋。

6、程式的測試和修正

1)、對於發現的bug不能就解決bug而解決,要處於完整程式考慮。避免收之東隅失之桑榆。

2)、對於解決過的bug已經要詳細記錄,以便日後更新。

php如何呼叫mysql儲存過程?

php呼叫mysql儲存過程和函式的兩種方法儲存過程和函式是mysql5.0剛剛引入的。關於這方面的操作在php裡面沒有直接的支援。

但是由於mysql php api的設計,使得我們可以在以前的php版本中的mysql php api中支援儲存過程和函式的呼叫。在php中呼叫儲存過程和函式的主要步驟 1。呼叫儲存過程的方法。

a。如果儲存過程有 in/inout引數,宣告乙個變數,輸入引數給儲存過程,該變數是一對,乙個php變數(也可以不必,只是沒有php變數時,沒有辦法進行動態輸入), 乙個mysql變數。 b。

如果儲存過程有out變數,宣告乙個mysql變數。 mysql變數的宣告比較特殊,必須讓mysql伺服器知道此變數的存在,其實也就是執行一條mysql語句。輸入 set @mysqlvar=$phpvar ; c。

使用mysql_query()/mysql_db_query()執行mysql 變數宣告語句。 mysql_query(」set @mysqlvar【=$pbpvar】」); 這樣,在mysql伺服器裡面就有乙個變數,@mysqlar。如果時in引數,那麼其值可以有phpar傳入。

d。 如果時儲存過程。 1。

執行 call procedure()語句。也就是mysql_query(」call proceduer([var1]…)」); 2. 如果有返回值,執行select @ar,返回執行結果。

mysql_query(」select @var)」 接下來的操作就和php執行一般的mysql語句一樣了。可以通過mydql_fetch_row()等函式獲得結果。如果時函式。

直接執行 select function() 就可以了。 php呼叫mysql儲存過程和函式的方法一: $host=\」localhost\」; $user=\」root\」; $password=\」11212\」; $db=\」samp_db\」; $dblink=mysql_connect($host,$user,$password) or die(\」can』t connect to mysql\」); mysql_select_db($db,$dblink) or die(\」can』t select samp_db\」); $res=mysql_query(\」set @a=$password\」,$dblink); $res=mysql_query(\」call aa(@a)\」,$dblink); $res=mysql_query(\」select @a\」,$dblink); $row=mysql_fetch_row($res); echo $row[0]; php呼叫mysql儲存過程和函式方法二:

此方法需要db_mysqli.dll的支援!呼叫帶有select語句的儲存過程就出現 procedure p can』t return a result set in the given context的錯誤。

google了半天,在mysql官網上找到一些說法,db_mysql的模組不支援儲存過程呼叫,解決方法是用 db_mysqli。測試了一下,果然可以了。

新浪php面試題

網上轉的一篇文章,不知道真的是不是sina的,題目很普通。無論是不是真的新浪面試題,對於正在求職的同行來說,也算可以練練手的了。這些面試題都帶了答案,看著還行 1.echo count abc 輸出什麼?答 1 count 計算陣列中的單元數目或物件中的屬性個數 int count mixed va...

php面試題和答案

1 用php列印出前一天的時間格式是2006 5 10 22 21 21 2分 a date y m d h i s strtotime 1 day print r a 2 echo print print r 的區別 3分 echo 和print不是乙個函式,是乙個語言結構 int print s...

PHP面試題 更新中

header content type text html charset utf 8 php基本面試題 定期更新 關於php排序演算法,在本人的 php排序演算法大全 經典 中可以找到,裡面列舉了氣泡排序,快速排序,插入排序,選擇排序,每種排序演算法都支援公升序 降序 class base c u...