1. 程式人生 > >數據訪問(從數據庫中訪問數據)

數據訪問(從數據庫中訪問數據)

數據 大數 一維數組 從數據 p地址 erro att 指針 inf

數據訪問

1.建一個連接(連接PHP和MYSQL)
$db = new MySQLi("localhost","root","666","text1");
//造了一個MySQLi,打開一個連接,造了一個連接對象。

//第一個參數是IP地址或域名,本地的就是localhost;

//第二個是用戶名;

//第三個是服務器密碼;

//第四個是數據庫名稱 

2.判斷是否出錯

/*if(mysqli_connect_error())//判斷連接是否出錯的方法
{
    echo "連接失敗!";//輸出連接失敗,不輸出任何東西就會輸出true或者flase。

    exit;//然後退出程序
}*/

//判斷是否出錯簡單寫法
mysqli_connect_error()?die("連接失敗"):"";//如果出錯了,輸出“連接失敗”,然後退出程序。沒有錯就什麽也不做。

3.寫SQL語句

$sql = "select * from info";

4.執行SQL語句

//執行SQL語句,返回結果集對象
$result = $db->query($sql);

//調用query方法執行sql語句,執行完以後會返回結果集對象,註意是對象,用$result接收。

5.從結果集中讀取數據

//從結果集中讀取數據,返回的是數組
 
//$attr = $result->fetch_all();//讀取所有數據,返回索引二維數組,此方法要慎用,有時候可能不行,寫法沒有提示。

//$attr = $result->fetch_array();//讀取當前指針指向的數據,返回索引關聯都有的數組。 

//$attr = $result->fetch_assoc();//返回關聯數組 

//$attr = $result->fetch_row();//返回索引數組 

//$attr = $result->fetch_object();//返回對象 

//上面輸出方法需要用什麽時就用哪種方法,這些方法都要記住。
/*$arr = array(); while($attr = $result->fetch_row()) {    var_dump($attr); } var_dump($attr);*/

當fetch_all()不能用時,可以用這種方法,但是遍歷出來的是一維數組

while($attr = $result->fetch_row())//用fetch_row()遍歷出所有的數組

{ 
  var_dump($attr); 
} 

下面方法可以用fetch_row()遍歷出二維數組

$arr = array();//外層定義一個空的數組
while($attr
= $result->fetch_row())//每取到一個數據的小數組就放到大數組裏面。最後得到的是一個二維數組。 { array_push($arr,$attr); } var_dump($arr);//輸出結果和fetch_all()方法輸出的結果是一樣的

數據訪問(從數據庫中訪問數據)