色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

10個PHP開發者常犯的MySQL錯誤

  數據庫是WEB大多數應用開發的基礎。如果你是用php,那么大多數據庫用的是MYSQL也是LAMP架構的重要部分。

  php看起來很簡單,一個初學者也可以幾個小時內就能開始寫函數了。但是建立一個穩定、可靠的數據庫確需要時間和經驗。下面就是一些這樣的經驗,不僅僅是MYSQL,其他數據庫也一樣可以參考。

  1、使用MyISAM而不是InnoDB

  MySQL有很多的數據庫引擎,單一般也就用MyISAM和InnoDB。

  MyISAM是默認使用的。但是除非你是建立一個非常簡單的數據庫或者只是實驗性的,那么到大多數時候這個選擇是錯誤的。MyISAM不支持外鍵的約束,這是保證數據完整性的精華所在啊。另外,MyISAM會在添加或者更新數據的時候將整個表鎖住,這在以后的擴展性能上會有很大的問題。

  解決辦法很簡單:使用InnoDB。

  2、使用php的mysql方法

  php從一開始就提供了MySQL的函數庫。很多程序都依賴于mysql_connect、mysql_query、mysql_fetch_assoc等等,但是php手冊中建議:

  如果你使用的MySQL版本在4.1.3之后,那么強烈建議使用mysqli擴展。

  mysqli,或者說MySQL的高級擴展,有一些優點:

  • 有面向對象的接口
  • prepared statements(預處理語句,可以有效防止SQL-注入攻擊,還能提高性能)
  • 支持多種語句和事務

  另外,如果你想支持多數據庫那么應該考慮一下PDO。

  3、不過濾用戶輸入

  應該是:永遠別相信用戶的輸入。用后端的php來校驗過濾每一條輸入的信息,不要相信Javascript。像下面這樣的SQL語句很容易就會被攻擊:

$username = $_POST["name"];
$password
= $_POST["password"];
$sql
= "SELECT userid FROM usertable WHERE username='$username'AND password='$password';"; // run query...

it知識庫10個PHP開發者常犯的MySQL錯誤,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 榆社县| 景宁| 苍南县| 南丰县| 滨海县| 枝江市| 威信县| 梓潼县| 绿春县| 陆良县| 东乌珠穆沁旗| 太仆寺旗| 双城市| 韩城市| 泰兴市| 南丰县| 沙坪坝区| 沽源县| 绍兴县| 通道| 五家渠市| 新竹县| 永州市| 长宁区| 东海县| 平远县| 兰考县| 安义县| 阜城县| 湛江市| 永济市| 确山县| 墨脱县| 阜南县| 镇平县| 大竹县| 钦州市| 三门县| 博野县| 延寿县| 商都县|