要提高一個 PHP 應用系統的效能,除了優化算法、原碼外,還有很多方面可以著手,資深軟件工程師 Mike Willbanks 發表了一篇文章討論優化 MySQL 數據庫的運作,包括懶惰連接、不做無謂的查詢、小心規劃數據庫結構等。雖然這篇文章針對 MySQL,不過提及的技巧在其他數據庫引擎上同樣有用。
Database 數據庫
SQL 注入攻擊新招
相信很多 PHP 的開發者都認識 SQL 注入攻擊,我們之前在「不可不知的 PHP 安全技巧」也曾經介紹過,最近 Gareth Heyes 在他的個人網誌提到一種新的 SQL 注入攻擊招式,Gareth Heyes 稱它做「SQL 反射注入攻擊」,很多人可能都會忽略。
PHP5, Sqlite 及 Windows
在 Turn up the Crank 有一位作者分享他使用 PHP5、Sqlite、Windows 的經驗。作者需要一個數據庫儲存資料,由於涉及的資料處理工作很簡單,所以他選擇了 Sqlite,結果他發現:
SQLite 3 無法與 PHP 相容:他不斷遇到一個錯誤訊息「PHP Warning: sqlite_open() [function.sqlite-open]: file is encrypted or is not a database」,網上有關 Sqlite 3 與 PHP 共用的文件十分缺乏,最後他終於發現 PHP 尚未支援 SQLite 3,對於 SQLite 3 已經推出了超過兩年仍未得到 PHP 的支援,作者感到大惑不解。
簡單易懂的介紹 SQL
學習一種語言最有效的方法是多做練習,學習 SQL 也是一樣,A Gentle Introduction to SQL 是一個讓你實際輸入及執行 SQL 語句的教學網站,他們提供一些編寫 SQL 的有用技巧,大量不同深淺程度的練習(附有答案),還有小型項目給你盡情發揮你的 SQL 才華。
這個網站提供多種語言版本,其中包括中文,但只有部分頁面完成翻譯,而且都是簡體字,但對於閱讀外語有困難的人不失為一個折衷方案。 <