PHP
操做MySQL
PHP
操做MySQL
的三種方式:php
MySQL
:非永久鏈接,性能比較低,PHP5.5
之後廢棄;MySQLi
:永久鏈接,減輕服務器壓力,只支持MySQL
;PDO
:能實現MySQLi
的經常使用功能,支持大部分數據庫;PHP
擴展查看函數:phpinfo();
php
配置文件:php.ini
html
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);