PHP連接mysql 數據庫,一般來說分爲普通方法和麪向對象兩種方法。在此,進行一個簡單的講解。
方法一:普通方法(面向過程)
首先,我先做出如下假設。
$username=your_name; $userpass=your_pass; $dbhost=localhost; $dbdatabase=your_database;
下面是關鍵步驟:
1 //生成一個連接 2 $db_connect=mysql_connect($dbhost,$username,$userpass) or die("Unable to connect to the MySQL!"); 3 4 //選擇一個需要操作的數據庫 5 mysql_select_db($dbdatabase,$db_connect); 6 7 //執行MySQL語句 8 $result=mysql_query("SELECT id,name FROM user"); 9 10 //提取數據 11 $row=mysql_fetch_row($result);
代碼註釋已經說明了一切。不過這裏還需要做一些補充。
①在mysql_connect()、mysql_select_db()等函數之前使用@(錯誤控制運算符),可以忽略掉系統產生的錯誤信息,然後我們用die()來自定義錯誤信息;
②提取數據的時候,除了上面的mysql_fetch_row,常見的還有mysql_fetch_assoc和mysql_fetch_array,具體差別請查閱PHP Manual;
③對於mysql_query()函數的返回值,如果執行的語句有返回值(如SELECT、SHOW、DESCRIBE等),則返回相應數據(成功時)或FALSE(失敗時);如果執行的語句沒有返回值(如DELETE、DROP、INSERT、UPDATE等),則返回TRUE(成功時)或FALSE(失敗時)。
方法二:面向對象方法
其實這種方法和普通方法非常類似,只是把相應的函數換成了面向對象方法,直接看代碼。
1 $db=new mysqli($dbhost,$username,$userpass,$dbdatabase); 2 if(mysqli_connect_error()){ 3 echo 'Could not connect to database.'; 4 exit; 5 } 6 7 $result=$db->query("SELECT id,name FROM user"); 8 $row=$result->fetch_row();
這裏用到的是mysqli,意思就是mysql的擴展,既可以通過面向過程的方式也可以通過面向對象的方式與數據庫進行交互,唯一不同的是調用函數(對象方法)的方式不一樣。