1. 程式人生 > >PHP 數據庫連接

PHP 數據庫連接

所在 for oca 數據庫 列名 返回 width 單個 mil

$db = new MySQLi("localhost","root","123","php0307");

!mysqli_connect_error() or die("連接錯誤");

$db->query("set names utf8");

Php使用mysqli_result類處理結果集有以下幾種方法

fetch_all()

抓取所有的結果行並且以關聯數據,數值索引數組,或者兩者皆有的方式返回結果集。

fetch_array()

以一個關聯數組,數值索引數組,或者兩者皆有的方式抓取一行結果。

fetch_object()

以對象返回結果集的當前行。

fetch_row()

以枚舉數組方式返回一行結果

fetch_assoc()

以一個關聯數組方式抓取一行結果。

fetch_field_direct()

以對象返回結果集中單字段的元數據。

fetch_field()

以對象返回結果集中的列信息。

fetch_fields()

以對象數組返回代表結果集中的列信息。

fetch_all (從結果集中取得所有行作為關聯數組)

  $sql="select * from user";

  $result=$link->query($sql);

  $row=$result
->fetch_all(MYSQLI_BOTH);//參數MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH規定產生數組類型 $n=0; while($n<mysqli_num_rows($result)){ echo "ID:".$row[$n]["id"]."用戶名:".$row[$n]["name"]."密碼:".$row[$n]["password"]."<br />"; $n++; }

fetch_array

(以一個關聯數組,數值索引數組,或者兩者皆有的方式抓取一行結果)

 $sql="select * from user";

        
$result=$link->query($sql); while($row=$result->fetch_array()){ echo "ID:".$row["id"]."用戶名:".$row[1]."密碼:".$row["password"]."<br />"; }//fetch_array方法不再有結果時返回返回NULL
//其返回結果可以是關聯數組也可以是數值數組索引,$row["id"]$row[1]都可

fetch_object (以對象返回結果集的當前行)

  $sql="select * from user";

        $result=$link->query($sql);

        while($row=$result->fetch_object()){

            echo "ID:".$row->id."用戶名:".$row->name."密碼:".$row->password."<br />";

        }//如果無更多的行則返回NULL//返回的結果是對象,要以對象的方式調用

fetch_row (以枚舉數組方式返回一行結果

 $sql="select * from user";

        $result=$link->query($sql);

        while($row=$result->fetch_row()){

            echo "ID:".$row[0]."用戶名:".$row[1]."密碼:".$row[2]."<br />";

        }//無更多行時返回NULL

//以數值下標調用數組,a[0]正確、a["id"]則不

fetch_assoc (以一個關聯數組方式抓取一行結果)

 $sql="select * from user";

        $result=$link->query($sql);

        while($row=$result->fetch_assoc()){

            echo "ID:".$row["id"]."用戶名:".$row["name"]."密碼:".$row["password"]."<br />";

        }//無更多行時返回NULL

//以關聯索引訪問數組,a["id"]正確、a[0]則不

fetch_field_direct (以對象返回結果集中單字段的元數據既單列的信息)

 $sql="select * from user";

        $result=$link->query($sql);

        $n=0;

        while(1){

            if(!$row=$result->fetch_field_direct($n++)) break;

            echo "列名:".$row->name."所在表:".$row->table."數據類型:".$row->type."<br />";

        }//fetch_field_direct($n)只返回單個列,所以得不斷調用該方法,沒有該列時返回false

fetch_field (以對象返回結果集中的列信息)

  $sql="select * from user";

        $result=$link->query($sql);

        while($row=$result->fetch_field()){

            echo "列名:".$row->name."所在表:".$row->table."數據類型:".$row->type."<br />";

        }//該方法檢索所有的列

//以對象方式返回列信息

//返回對象屬性如:name - 列名,table - 該列所在的表名,type - 該列的類型,等

fetch_fields (以對象數組返回代表結果集中的列信息)

 $sql="select * from user";

        $result=$link->query($sql);

        $row=$result->fetch_fields();

        foreach($row as $val){

            echo "列名:".$val->name."所在表:".$val->table."數據類型:".$val->type."<br />";

        }//該方法功能與目的fetch_field一樣

//不一樣的是該方法返回一個對象數組(如:echo $row[0]->name;輸出第一列的名字),而不是一次檢索一列

另:mysqli_result類還有其他方法

field_tell()

返回字段指針的位置

data_seek()

調整結果指針到結果集中的一個任意行

num_fields()

返回結果集中的字段數(列數)

field_seek()

調整字段指針到特定的字段開始位置

free()

釋放與某個結果集相關的內存

fetch_lengths()

返回結果集中當前行的列長度

num_rows()

返回結果集中的行數

PHP 數據庫連接