php原生方法連接mysql數據庫


三種方式

mysql擴展

mysqli擴展

pdo_mysql擴展

查詢本地環境安裝了那些擴展

php -m 

 

mysql擴展連接數據庫方法

<?php
//利用mysql擴展庫連接數據庫
//獲取鏈接
$conn=mysql_connect("localhost","root","955219");
if(!$conn)
{
//顯示錯誤信息
die("連接數據庫失敗".mysql_error());
}
else
{
echo "成功<br/>";
}
//選擇數據庫
mysql_select_db("practice");
//設置字符集
mysql_query("set name utf8");
//發送sql語句
$sql="select * from user";
$res=mysql_query($sql,$conn);
//接收結果並處理
var_dump($res);
// mysql_free_result($res);
mysql_close($conn);
while($row=mysql_fetch_row($res))
{
echo "<br/>";
var_dump($row);
echo "<br/>";
// echo "$row[0]------$row[1]------$row[2]";
foreach ($row as $key=>$val)
{
echo "------$val";
}
}
//釋放鏈接,關閉資源
//釋放結果集
mysql_free_result($res);
//關閉連接(這句話可以沒有,沒有什么用,寫這句話之后鏈接也不是馬上關閉的)
//mysql_close($conn);
?>

mysqli擴展連接數據庫方法

 

連接數據庫服務器

1)資源 mysqli_connect(服務器地址,用戶名,密碼)

 

 
 

補充:mysqli_connect默認對一個服務器只連接一次

設置連接編碼

1)形式1:mysqli_query($link,''set  names xxx'')

mysqli_query(connection,query,resultmode);

 
返回true

2) 形式2:mysqli_set_charset($link,"utf8");

 
 

3)怎么確定用哪種?

客戶端當前執行腳本的界面是什么字符集,就設定成什么字符集

選定要使用的數據庫

1)多用)形式1:mysqli_query($link,''xxxxx'')

 
 

2)形式2:mysqli_select_db($link,''xxxx'')

關閉連接

主動釋放鏈接:MySQL服務器的鏈接資源是有限的,不用了需要釋放(腳本執行結束系統也會自動釋放)

1)mysqli_close($link)

 
 

執行增刪改操作

mysqli_query函數返回true或者false,原因有二:1sql指令本身錯誤,2執行失敗

 
 

做個專門負責數據庫初始化的腳本:之后要操作數據庫包含該腳本即可

 
 

1,2,3)mysqli_query($link,''inset /delect/update.......'');

 
 
 
 

執行查詢操作

成功返回結果集:sql指令沒有錯誤,但如果查詢結果本身為空返回也是true;失敗為false:sql指令有錯誤

 
成功返回

 

 
 

獲得結果集行數

1)mysqli_num_rows()

 
 

解析結果集

1)mysqli_fetch_assoc():獲取關聯數組,表的表單名字作為數組下標,元素值作為數組元素值

 
 

2)mysqli_fetch_row():獲取索引數組,只獲取數絕對值,數組下標從0開始

 
指針下移了

3)mysqli_fetch_array():獲取關聯或者索引數組,一個記錄取兩次,一組是關聯數字,一組是索引數組,但是可以通過第二個參數決定獲取方式;

MYSQLI_ASSOC:只獲取關聯數組

MYSQLI_NUM:只獲取索引數組

MYSQLI_BOTH:獲取全部

 
 

結果集通常操作:獲取所有



pdo連接mysql
<?php try { $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); foreach($dbh->query('SELECT * from FOO') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } ?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM