PHP操做MySQL

PHP操做MySQL

PHP操做MySQL的三種方式:php

  • MySQL:非永久鏈接,性能比較低,PHP5.5之後廢棄;
  • MySQLi:永久鏈接,減輕服務器壓力,只支持MySQL
  • PDO:能實現MySQLi的經常使用功能,支持大部分數據庫;

PHP擴展查看函數phpinfo();
php配置文件php.inihtml

MySQL方式鏈接數據庫mysql

//設置html的字符集
header('content-type:text/html;charset=utf-8');

//鏈接數據庫
$server = '127.0.0.1';
$username = 'root';
$password = '123';
$port = '3309';
$link = mysql_connect("{$server}:{$port}", $username, $password);

//選擇數據庫
$db_name = 'test005';
mysql_select_db($db_name);

//設置字符集
$charset = 'utf8';
mysql_set_charset($charset);

/*
 * MySQL方式執行SQL語句
 * mysql_query()對insert, update, delete, drop之類的操做,執行成功時返回true, 出錯時返回false
 */
$query = '';
mysql_query($query);

$query_insert = 'INSERT INTO users(id, name, salary) VALUES(1, \'張三\', 3000)';
$query_update = 'UPDATE user SET name =\'李四\' WHERE id = 1';
$query_delete = 'DELETE FROM users WHERE id = 1';
$query_drop = 'DROP TABLE IF EXISTS user';

mysql_query($query_insert);

/*
 * mysql_query()對SELECT操做,執行成功會返回一個resource,若是查詢出現錯誤則返回FALSE
 * 返回的結果資源應該傳遞給mysql_fetch_array($result)和其餘函數來處理結果表,取出返回的數據
 * 參數:MYSQL_ASSOC MYSQL_NUM和MYSQL_BOTH
 */
$query_select = 'SELECT * FROM users';
$result = mysql_query($query_select);

$line_row = mysql_fetch_row($result);  //索引數組,第一條數據
$line_assoc = mysql_fetch_assoc($result);  //關聯數據,第一條數據
$line_array = mysql_fetch_array($result);   //混合數組,既有關聯數組,又有索引數組,第一條數據

//遍歷
while ($line = mysql_fetch_assoc($result)){
    $data[] = $line;  //每一次取出的結果集都添加到$data數組中
}
var_dump($data);  //輸出全部的結果集

//關閉數據庫鏈接
mysql_close($link);

MySQLi面向過程方式操做數據庫sql

/****** 面向過程 ******/

//鏈接數據庫
$host = '127.0.0.1';
$user = 'root';
$password = '123';
$database = 'test005';
$port = '3309';
$connect = mysqli_connect($host, $user, $password, $database, $port);

//執行SQL語句
$query = 'SELECT * FROM user';
$result = mysqli_query($connect, $query);

mysqli_fetch_row($result);        //索引數組,第一條數據
mysqli_fetch_assoc($result);      //關聯數據,第一條數據
mysqli_fetch_array($result);      ////混合數組,既有關聯數組,又有索引數組,第一條數據

var_dump(mysqli_fetch_assoc($result));

//獲取結果集
var_dump(mysqli_fetch_all($result));

//關閉數據庫鏈接
mysqli_close($connect);
相關文章
相關標籤/搜索