1. 程式人生 > >PHP 訪問MySQL擴充套件 mysqli 內容

PHP 訪問MySQL擴充套件 mysqli 內容

PHP學習

一、資料庫擴充套件mysqli

mysqli::$connect_errno 
#int $mysqli->connect_errno;
#儲存為最後一次連線資料庫的錯誤程式碼,一個int型別數值;
mysqli::$connect_error;
#string $Mysqli->connect_error;
#儲存為最後一次連線資料庫的錯誤訊息,一個string型別值;
mysqli::$host_info;
#string $mysqli->host_info;
#表示伺服器主機名和連線型別
bool mysqli::select_db(string $dbname
); #選擇資料庫,返回bool 值 mysqli::$client_info; #string $mysqli->client_info; 返回字串型別,關於客戶端的資訊 mysqli::get_client_info(void); #string mysqli::get_client_info(void); 與$mysqli->client_info一樣 mysqli::$client_version; #int $mysqli->client_version; #返回客戶端版本號; mixed mysqli::query(string $query,[,int $resultmode
= MYSQLI_STORE_RESULT ]); #mixed 表示可以返回多種型別 $resultmode 預設為MYSQLI_STORE_RESULT; #array mysqli_result::fetch_assoc(void); #返回一個數組,裡面儲存的是結果中的第一個元素,如果再次使用fetch_assoc(),將會返回結果的第二個元素。 #如果將結果中的資料讀取完,如果再次讀取便會為空。 #比如 使用mysqli_result::fetc_row 讀取完$result 的資料,之後再使用mysqli_result:: fetch_assoc 會發現沒有任何有效值。

result物件內具體內容

mysqli_result {
/* 屬性 */
int $current_field ; 
int $field_count;
array $lengths;
int $num_rows;
/* 方法 */
int mysqli_field_tell ( mysqli_result $result )
bool data_seek ( int $offset )
mixed fetch_all ([ int $resulttype = MYSQLI_NUM ] )
mixed fetch_array ([ int $resulttype = MYSQLI_BOTH ] )
array fetch_assoc ( void )
object fetch_field_direct ( int $fieldnr )
object fetch_field ( void )
array fetch_fields ( void )
object fetch_object ([ string $class_name = "stdClass" [, array $params ]] )
mixed fetch_row ( void )
int mysqli_num_fields ( mysqli_result $result )
bool field_seek ( int $fieldnr )
void free ( void )
array mysqli_fetch_lengths ( mysqli_result $result )
int mysqli_num_rows ( mysqli_result $result )
}
  • mysqli_result :: fetch_field

    array mysqli_result::fetch_field(void)
    //返回結果集中的欄位資訊,多次呼叫可以檢視結果集全部資訊
Property Description
name 列名
table 表名
db 資料庫名
decimals The number of decimals used (for integer fields)
……………. ……………………..
  • mysqli_result::$num_rows

    
    #返回結果集中的行數
    
    echo "rows_count:".$result->num_rows;
    
    #這裡的物件是$result
    
  • mysqli_result::fetch_assoc

    
    #獲取結果行作為  [關聯,關聯,關聯]  陣列 ["name"]["age"] ["job"]
    
    for($i=0;$i<$result->num_rows;$i++)
      {
        $row=$result->fetch_assoc();
        print_r($row);
        echo $row["id"];
        echo "<br/>";
      }
      echo "<br/>".gettype($row);
      $result->close();
  • mysqli_result::fetch_row

    
    #獲取結果行作為列舉陣列   [0][1][2][3]
    
    獲取結果行作為  [關聯,關聯,關聯]  陣列 ["name"]["age"] ["job"]
    for($i=0;$i<$result->num_rows;$i++)
      {
        $row=$result->fetch_assoc();
        print_r($row);
        echo $row[0];
        echo "<br/>";
      }
      echo "<br/>".gettype($row);
      $result->close();
  • mysqli_result::free

  • mysqli_result::close

    $result->close;
    $result->free;
    $result->free_result;
    
    #釋放結果集所佔用的記憶體,也就是說在使用上面這些語句之後,就不能再訪問result內容,需要再次訪問
    
    Date:Sat Sep 8 18:13:42 CST 2018