php連接MySQL數據庫的兩種編碼方式
PHP連接MySQL數據庫的方式
面向過程的編碼風格
<?php
//一、面向過程的編碼風格
//1.PHP與MySQL建立連接
/*語法mysqli_connect(host,username,passwd,dbname,port);
mysqli_connect()方法具有返回值,返回值就是PHP與MySQL數據庫建立連接的連接對象
*host - MySQL數據庫所在的計算機的ip地址
* username - 登陸MySQL數據庫的用戶名稱
* passwd - 登陸MySQL數據庫的用戶密碼(如果密碼為空則寫 “” 站位)
* dbname - 要操作的數據庫的名稱
* port - MySQL數據庫所使用的端口號(一般默認為3306,不建議修改哦)
*/
$connect = mysqli_connect('127.0.0.1','root','','bigspinach','3306');
//2.PHP向MySQL數據庫發送sql語句,並接收返回的結果
//2.1 編寫sql語句
/*
*增刪改操作返回Boolean值
* 增:INSERT INTO 表名 VALUES (所有字段值) 注意:主鍵自增字段需寫成 NULL
INSERT INTO 表名 字段名=新字段值 WHERE 字段名=字段值
* 刪:DELETE FROM 表名
DELETE FROM 表名 WHERE 字段名=字段值
* 改 :UPDATE 表名 SET 字段名=字段值 注意:這樣修改會修改所有該字段的值
UPDATE 表名 SET 字段名=新字段值 WHERE 字段名=字段值
*查操作返回 結果集對象
(1)基本查詢
SELECT * FROM 表名
SELECT 字段名1,字段名2,... FROM 表名
(2)條件查詢
SELECT * FROM 表名 WHERE 字段值=字段名
(3)排序查詢
SELECT * FROM 表名 ORDER BY 字段名
正序: SELECT * FROM 表名 ORDER BY 字段名 ASC
倒序:SELECT * FROM 表名 ORDER BY 字段名 DESC
(4)模糊查詢
SELECT * FROM 表名 WHERE 字段名 LIKE "字符串%%"
字符串%字符串
(5)LIMIT(MySQL方言)
SELECT * FROM 表名 LIMIT [位置偏移量,]行數;
SELECT * FROM 表名 LIMIT 0,5; 查詢第一行數據開始,顯示5條
//解析查詢結果(mysqli_result對象)
mysqli_result對象
* 屬性
* $field_count 字段數量
* $num_rows 多少條數據記錄
* 方法
*(1) mysqli_fetch_array($result,[result]);
*$result - 結果集對象
* result - 解析為數組的返回數組的方式
* a.關聯數組mysqli_assoc;
* b索引數組mysqli_num;
* c.兩種數組都返回mysqli_both(默認值))
方法的具體使用
$arr=new array();
while($row=mysqli_fetch_array($result,num)){
array_push($arr,$row);
*$arr:要壓入的數組
* $row:循環得到的每一條數據記錄
}
*(2) mysqli_fetch_assoc($result) 該方法返回索引數組
方法的具體使用
$arr=new array();
while($row=mysqli_fetch_assoc($result)){
array_push($arr,$row);
}
*/
$sql = "DELETE FROM liukai ";//刪除名為 liukai 的數據表
//2.2解決中文亂碼問題--固定套路 mysqli_query($connect連接對象,'SET NAMES UTF8');
mysqli_query($connect,'SET NAMES UTF8');
//2.3將sql語句發送給MySQL數據庫,並接收其返回的結果
$result = mysqli_query($connect,$sql);
//3.PHP與MySQL數據庫關閉連接
mysqli_close($connect);
?>
化繁為簡
<?php
//1.建立連接
$connect=mysqli_connect('localhost','root','','bigspinach','3306');
//2.定義sql語句
$sql='select * from liukai';
mysqli_query($connect,'set names utf8');
//3.發送SQL語句
$result=mysqli_query($connect,$sql);
$arr=array();//定義空數組
while($row =mysqli_fetch_array($result)){
//var_dump($row);
//array_push(要存入的數組,要存的值)
array_push($arr,$row);
}
var_dump($arr);
//4.關閉連接
mysqli_close($connect);
?>
面相對象的編碼風格
<?php
//面向對象的編碼風格
//1.new一個 mysqli(host,username,passwd,dbname,port)對象 ====等同於建立連接
//2.定義sql語句
//3.調用mysqli 對象 的 query($sql)方法並得到其返回結果值
//4.調用mysqli 對象 的 close()方法關閉連接
$mysqli = new mysqli('127.0.0.1','root','','bigspinach','3306');
$sql = "select * from where 姓名 = liukai ";
$mysqli -> query('set names utf8');
$mysqli -> query($sql);
$mysqli -> close();
?>
