php學習筆記 PHP連線MySQL伺服器

2021-10-06 13:07:39 字數 4398 閱讀 8390

開啟乙個到 mysql 伺服器的新的連線:

<?php

$con=mysqli_connect("localhost","wrong_user","my_password","my_db");

// 檢查連線

if (!$con)

?>

mysqli_connect() 函式開啟乙個到 mysql 伺服器的新的連線。

mysqli mysqli_connect(host,username,password,dbname,port,socket);

引數描述

host

可選。規定主機名或 ip 位址。

username

可選。規定 mysql 使用者名稱。

password

可選。規定 mysql 密碼。

dbname

可選。規定預設使用的資料庫。

port

可選。規定嘗試連線到 mysql 伺服器的埠號。

socket

可選。規定 socket 或要使用的已命名 pipe。

返回值:

返回乙個代表到 mysql 伺服器的連線的物件。

php 版本:

5+

<?php

//(1)資料庫配置資訊

$db_host="localhost"; //主機名

$db_port="3306"; //埠號

$db_user="root"; //使用者名稱

$db_pass="root"; //密碼

$db_name="dbname"; //資料庫名

$charset="utf8"; //字符集

//(2)php連線mysql伺服器

if(!$link=@mysqli_connect($db_host.":".$db_port,$db_user,$db_pass))

//(3)選擇當前資料庫

if(!mysqli_select_db($link,$db_name))

//(4)設定資料庫返回資料字符集

mysqli_set_charset($link,$charset);

//(5)執行查詢的sql語句

$sql="select * from student";

//$sql="update student set salary=salary+200 where id=5";

$result=mysqli_query($link,$sql);

//(6)從結果集中獲取一行資料,並作為列舉陣列返回(int作為下標,從0開始)

while($arr=mysqli_fetch_row($result))//第一次獲取第一行,第二次呼叫獲取到第二行

//(7)從結果集中獲取一行資料,並作為關聯陣列返回(欄位名作為下標)

//$arr=mysqli_fetch_assoc($result);

//print_r($arr);

//echo arr['edu'];

//(8)從結果集中獲取一行資料,並作為關聯陣列,或索引陣列,或兩者兼有

//mysqli_both(兩者兼有,預設)、mysqli_assoc(關聯索引)、mysqli_num(數字索引)

//$arr=mysqli_fetch_array($result,mysqli_assoc);

//$arr=mysqli_fetch_array($result);

//print_r($arr);

//echo arr['edu'];

//(9)從結果集中獲取所有資料,並作為關聯陣列,或索引陣列,或兩者兼有

//mysqli_both(兩者兼有,預設)、mysqli_assoc(關聯索引)、mysqli_num(數字索引)

//$arrs=mysqli_fetch_all($result,mysqli_assoc);

//$arrs=mysqli_fetch_all($result);

//print_r($arrs);

//(10)從結果集中獲取記錄數

$records=mysqli_num_rows($result);

echo "記錄數為:$records";

//(11)手動銷毀結果集變數

mysqli_free_result($result);

//假設資料已經獲取到,不需要再佔著連線通道,即時關閉

mysqli_close($link);

載入函式前,防止頁面出錯時,暴露連線資訊

<?php

$con=mysqli_connect("localhost","wrong_user","my_password","my_db");

// 檢查連線

if (!$con)

?>

mysqli_connect_error() 函式返回上一次連線錯誤的錯誤描述。

string mysqli_connect_error(void);

返回值:

返回乙個描述錯誤的字串。如果沒有錯誤發生則返回 null。

php 版本:

5+關閉先前開啟的資料庫連線:

<?php

$con=mysqli_connect("localhost","my_user","my_password","my_db");

// ....一些 php **...

mysqli_close($con);

?>

mysqli_close() 函式關閉先前開啟的資料庫連線。

bool mysqli_close(mysqli $connection);

引數描述

connection

必需。規定要關閉的 mysql 連線。

返回值:

如果成功則返回 true,如果失敗則返回 false。

php 版本:

5+bool mysqli_select_db(mysqli $link,string $database)

bool mysqli_set_charset(mysqli $link,string $charset)

resource mysqli_query(mysqli $link,string $query)

void mysqli_free_result(mysqli_result $result)

記憶體中的變數何時消失

(1)網頁執行完畢,所有與本網頁相關的變數自動銷毀

(2)手動銷毀指定的變數

10.從結果集獲取一行資料

(1)array mysqli_fetch_row(mysqli_result $result)

從結果集中取得一行作為列舉陣列

呼叫一次獲取一行,第n次獲取n行資料

關聯陣列的下標也就是key值可以是無序的,一般是字串型別;比如:

array('one'=>'1','three'=>'2', 'fore'=>'3');

索引陣列的下標(key)是有序的,一般為int型,比如:

array('one', 'two', 'three')

這個陣列預設的下標就是0,1,2;(另外:索引陣列的下標預設從0開始)

(2)array mysqli_fetch_assoc(mysqli_result $result)

從結果集中取得一行作為關聯陣列

注意:此函式返回的欄位名大小寫敏感

(3)array mysqli_fetch_arry(mysqli_result $result[,int $result_type=mysqli_both])

從結果集中取得一行作為關聯陣列,或數字陣列,或二者兼有(不寫引數的時候)

引數:$result_type是乙個常量,mysqli_both(兩者兼有,預設)、mysqli_assoc(關聯索引)、mysqli_num(數字索引)

注意:本函式返回的欄位名區分大小寫

(4)mixed mysqli_fetch_all(mysqli_result $result[,int $resulttype=mysqli_num] )

從結果集中取得所有行作為索引陣列、列舉陣列、或二者兼有

(1)int mysqli_num_rows(myusqli_result $result)

取得結果集中行的數目

注意:此命令僅對select語句有效

(2)int mysqli_affected_rows(mysqli $link)

取得前一次mysql操作所影響的記錄行數

取得最近一次與 $link關聯的select、insert、update或delete查詢所影響的記錄行數

注意:如果最近一次查詢失敗,函式返回-1。當使用updata查詢,mysql不會講原值和新值一樣的值更新,返回值不一定就是查詢條件所符合的記錄,只有修改過的記錄才會被返回。

php連線mysql位址 PHP連線mysql

php 5 及以上版本建議使用以下方式連線 mysql mysqli extension i 意為 improved pdo php data objects 在 php 早起版本中我們使用 mysql 擴充套件。但該擴充套件在 2012 年開始不建議使用。我是該用 mysqli 還是 pdo?如果...

php連線mysql原生 PHP連線MySQL

一.mysql客戶端下,運算元據庫的步驟 第一步 連線到mysql資料庫伺服器 mysql.exe hlocalhost uroot proot 第二步 選擇要操作的資料庫 use db name 第三步 設定當前環境的顯示字符集 set names gbk 在mysql客戶端只能使用gbk,別的編...

mysql與php的連線 PHP 連線mysql

php 連線mysql mysqlhost localhost mysqluser root mysqlpass mysqldata mydata connect mysql connect mysqlhost,mysqluser,mysqlpass or die 錯誤 mysql error my...