標籤:alt 5.5 orm 學習 函數式 toolbar src span 相對
首先php—mysql 是 php 操作 mysql 資料庫最原始的的拓展
而php—mysqli,字母i代表的 Improvement ,提更了相對進階的功能。
推薦學習和使用mysqli
mysql是非持繼串連函數而mysqli是永遠串連函數
也就是說mysql每次連結都會開啟一個串連的進程
而mysqli多次運行mysqli將使用同一串連進程,從而減少了伺服器的開銷
預設情況下,從php5開始,php不在自動開啟對mysql的支援,而是放到擴充函數庫中。所以使用者需要在拓展函數庫中開啟mysql函數庫
首先開啟php.ini 找到“;entensions=php_mysql.dll”,去掉前面的分號注釋
儲存重啟apache或者iis
然後可以通過phpinfo()函數檢查是否配對成功,如果顯示出的php的環境配置資訊中有mysql項目,表示已經成功開啟對mysql的支援。
mysqli.dll是一個允許以對象的方式或者過程操作資料庫的,它的使用方式也很容易。這裡就幾個常見的操作和 mysql.dll做一個對比。
1:mysql.dll(可以理解為函數式的方式):
$conn = mysql_connect(‘localhost‘, ‘user‘, ‘password‘); //串連mysql資料庫 mysql_select_db(‘data_base‘); //選擇資料庫 $result = mysql_query(‘select * from data_base‘);//這裡有第二個選擇性參數,指定開啟的串連 $row = mysql_fetch_row( $result ) ) //為了簡單,這裡只取一行資料 echo $row[0]; //輸出第一個欄位的值
mysqli也有過程式的方式,只不過開始貫以mysqli的首碼,其他都差不多。
如果mysqli以過程式的方式操作的話, 有些函數必須指定資源
比如說 mysqli_query(資源標識,SQL語句),並且資源標識的參數是放在前面的
而 mysql_query(SQL語句,‘可選‘)的資源標識是放在後面的,並且可以不指定,它預設是上一個開啟的串連或資源。
而且mysql_select_db和mysqli_select_db的參數剛好相反。
這裡需要重點強調的是 php5.5無法使用mysql_query,需要用mysqli
所以我才接觸到了mysqli 手動滑稽
2mysqli.dll(對象方式):
$conn = new mysqli(‘localhost‘, ‘user‘, ‘password‘,‘data_base‘); //這裡的串連是new出來的,最後一個參數是直接指定資料庫,不用mysql_select_db()了 //也可以構造時候不指定,然後 $conn -> select_db(‘data_base‘) $result = $conn -> query( ‘select * from data_base‘ ); $row = $result -> fetch_row(); //取一行資料 echo row[0]; //輸出第一個欄位的值
php中的mysql和mysqli的總結