當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP mysqli_stmt_attr_get()用法及代碼示例



定義和用法

您可以創建一個準備好的語句,如果使用 mysqli_prepare() 函數的值,該語句具有參數標記 ("?")。準備好語句後,您需要使用 mysqli_stmt_bind_param() 函數將值綁定到所創建語句的參數。

您可以使用 mysqli_stmt_attr_set() 函數為更改其行為的語句設置各種屬性。

mysqli_stmt_attr_get() 函數接受一個語句對象和一個屬性,並返回給定屬性的當前值。

用法

mysqli_stmt_attr_get($stmt, $attr);

參數

Sr.No 參數及說明
1

stmt(Mandatory)

這是一個表示準備好的語句的對象。

2

attr(Mandatory)

這是一個整數值,表示您要設置給給定語句的屬性,它可以是以下之一 -

  • MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH

  • MYSQLI_STMT_ATTR_CURSOR_TYPE

  • MYSQLI_STMT_ATTR_PREFETCH_ROWS

返回值

PHP mysqli_stmt_attr_get() 函數在成功時返回指定屬性的值,如果未找到給定的屬性,則返回 false。

PHP版本

這個函數最初是在 PHP 版本 5 中引入的,適用於所有後續版本。

示例

以下示例演示了 mysqli_stmt_attr_set() 函數的用法(程序風格) -

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; 
   mysqli_query($con, $query);
   print("Table Created.....\n");

   //insert into Test values('Raju', 25);
   $stmt = mysqli_prepare($con, "INSERT INTO Test values(?, ?)");
   mysqli_stmt_bind_param($stmt, "si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("Record Inserted.....\n");

   $res = mysqli_stmt_attr_set($stmt, MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH, TRUE);

   if($res){
      print("Successful.....\n");
   }else{
      print("Failed.....\n");
   }

   $val = mysqli_stmt_attr_get($stmt, MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
   print("Value:".$val);

   //Executing the statement
   mysqli_stmt_execute($stmt);

   //Closing the statement
   mysqli_stmt_close($stmt);

   //Closing the connection
   mysqli_close($con);
?>

這將產生以下結果 -

Table Created.....
Record Inserted.....
Successful.....
Value:1

示例

在麵向對象風格中,這個函數的語法是 $stmt->close();以下是麵向對象樣式 $minus 中此函數的示例;

<?php
   //Creating a connection
   $con = new mysqli("localhost", "root", "password", "mydb");

   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; 
   $con -> query($query);
   print("Table Created.....\n");

   //insert into Test values('Raju', 25);//,('Rahman', 30),('Sarmista', 27)";
   $stmt = $con -> prepare( "INSERT INTO Test values(?, ?)");
   $stmt -> bind_param("si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("Record Inserted.....\n");

   //Setting the attribute
   $res= $stmt->attr_set(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH, TRUE);

   if($res){
      print("Successful.....\n");
   }else{
      print("Failed.....\n");
   }

   $val = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
   print("Value:".$val);

   //Executing the statement
   $stmt->execute();

   //Closing the statement
   $stmt->close();

   //Closing the connection
   $con->close();
?>

這將產生以下結果 -

Table Created.....
Record Inserted.....
Successful.....
Value:1

相關用法


注:本文由純淨天空篩選整理自 PHP mysqli_stmt_attr_get() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。