PHP+MYSQL
php操作mysql數據庫
(1)、使用mysqli擴展(推薦)只針對mysql數據庫
面向對象的方式
直接方法(面向方過程)
(2)、使用mysql擴展(PHP<=5.5)2012年開始不建議使用
(3)、使用PDO(php data objects)技術(防止sql注入)面向對象的方式(推薦),可以應用在12中數據庫中
mysqli:
面向對象的方式:
$conn = new mysqli($servername, $username, $password,$database); // 檢測連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
echo "連接成功";
$conn->close();//關閉連接
面向過程:
$conn = mysqli_connect($servername, $username, $password); // 檢測連接
if (!$conn)
{
die("Connection failed: " . mysqli_connect_error());
}
echo "連接成功";
$result = mysqli_query(&conn,sql語句)
$numbers = mysqli_num_rows($result);
mysqli_close($conn);;//關閉連接
PDO:
try {
$conn = new PDO("mysql:host=$servername;", $username, $password);
echo "連接成功";
}
catch(PDOException $e)
{ echo $e->getMessage(); }
$conn = null;//關閉連接
通過phpinfo()可以查看當前環境中是否對應的擴展
常用的mysqli方法有以下幾個:
mysqli_connect:連接認證
mysqli_connect_error:連接失敗的錯誤信息
mysqli_close:關閉連接
mysqli_errno:出現錯誤的編號
mysqli_error:出現錯誤的信息
mysqli_query:執行查詢SQL指令
mysqli_affected_rows:當前mysql操作受影響的行數(寫操作)
mysqli_num_rows :當前查詢結果集中的行數
mysqli_free_result:釋放查詢的結果集
mysqli_fetch_row:從查詢結果集中取出一條記錄,返回一維數組(索引數組)
mysqli_fetch_assoc:從查詢結果集中取出一條記錄,返回以為數組(關聯數組:字段名作為下標)
mysqli_fetch_all:從查詢結果集中取出所有記錄,返回二維數組
PHP連接MySQL之原生MySQL函數總結
一、配置連接數據庫信息
1.連接數據庫 mysql_connect($server, $username, $password)
2.設置字符集 mysql_set_charset($charset)
3.選擇數據庫 mysql_select_db($database_name)
二、向數據庫發送並執行sql語句
mysql_query($sql); sql語句執行失敗則返回false,執行成功若有資源(執行查詢等情況)的話返回資源,其余返回true。
三、從返回的結果集中解析數據
1.返回影響行數的
mysql_num_rows($result) 取得結果集中行的數目
mysql_affected_rows() 取得前一次操作所影響的記錄行數
mysql_insert_id(); 取得上一步插入操作產生的ID
2.返回查詢資源的(以下均是一次從結果集中取得一行記錄)
mysql_fetch_row() 數字索引
mysql_fetch_assoc() 字段名索引
mysql_fetch_array() 兩者都有
3.返回錯誤信息的
mysql_error(); 文本錯誤信息
mysql_errno(); 錯誤信息的數字編碼
四、關閉數據庫連接
mysql_close();
PHP中的PDO函數庫
一、PDO
PDO->beginTransaction() — 標明回滾起始點
PDO->commit() — 標明回滾結束點,並執行SQL
PDO->__construct() — 建立一個PDO鏈接數據庫的實例
PDO->errorCode() — 獲取錯誤碼
PDO->errorInfo() — 獲取錯誤的信息
PDO->exec() — 處理一條SQL語句,並返回所影響的條目數
PDO->getAttribute() — 獲取一個“數據庫連接對象”的屬性
PDO->getAvailableDrivers() — 獲取有效的PDO驅動器名稱
PDO->lastInsertId() — 獲取寫入的最后一條數據的主鍵值
PDO->prepare() — 生成一個“查詢對象”
PDO->query() — 處理一條SQL語句,並返回一個“PDOStatement”
PDO->quote() — 為某個SQL中的字符串添加引號
PDO->rollBack() — 執行回滾
PDO->setAttribute() — 為一個“數據庫連接對象”設