色尼玛亚洲综合影院,亚洲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錯誤,轉載需保留來源!

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

主站蜘蛛池模板: 乐陵市| 诏安县| 静海县| 基隆市| 汤阴县| 奎屯市| 临洮县| 米脂县| 古蔺县| 洮南市| 武汉市| 玉门市| 新竹县| 黎城县| 长乐市| 宁陵县| 丰都县| 乐亭县| 卓资县| 昌乐县| 洪雅县| 巫溪县| 巨野县| 浠水县| 沂南县| 宁蒗| 沙田区| 林芝县| 佛冈县| 扎鲁特旗| 淳安县| 丽江市| 莆田市| 百色市| 城步| 霍山县| 来宾市| 天柱县| 县级市| 洛南县| 尼勒克县|