mysqli_stmt_attr_get()函數(shù)用于獲取語句屬性的當(dāng)前值
您可以使用mysqli_prepare()函數(shù)創(chuàng)建一個準(zhǔn)備好的語句,該語句具有參數(shù)標(biāo)記(“?”)(如果有值)。 預(yù)處理語句后,需要使用mysqli_stmt_bind_param()函數(shù)將值綁定到所創(chuàng)建語句的參數(shù)。
您可以使用mysqli_stmt_attr_set()函數(shù)為語句設(shè)置各種屬性,以更改其行為。
mysqli_stmt_attr_get()函數(shù)接受一個語句對象和一個屬性,并返回給定屬性的當(dāng)前值。
mysqli_stmt_attr_get($stmt, $attr);
| 序號 | 參數(shù)及說明 |
|---|---|
| 1 | stmt(必需) 這是表示準(zhǔn)備好的語句的對象。 |
| 2 | attr(必需) 這是一個整數(shù)值,表示您要設(shè)置給定語句的屬性,該屬性可以是下列值之一:
|
PHP mysqli_stmt_attr_get()函數(shù)成功返回指定屬性的值,如果找不到給定的屬性,則返回false。
此函數(shù)最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。
以下示例演示了mysqli_stmt_attr_set()函數(shù)的用法(面向過程風(fēng)格)-
<?php
$con = mysqli_connect("localhost", "root", "password", "mydb");
$query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)";
mysqli_query($con, $query);
print("創(chuàng)建表.....\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("插入記錄.....\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);
//執(zhí)行語句
mysqli_stmt_execute($stmt);
//結(jié)束語句
mysqli_stmt_close($stmt);
//關(guān)閉連接
mysqli_close($con);
?>輸出結(jié)果
創(chuàng)建表..... 插入記錄..... Successful..... Value: 1
在面向?qū)ο箫L(fēng)格中,此函數(shù)的語法為$stmt->close();。以下是面向?qū)ο箫L(fēng)格中此函數(shù)的示例;
<?php
//建立連接
$con = new mysqli("localhost", "root", "password", "mydb");
$query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)";
$con -> query($query);
print("創(chuàng)建表.....\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("插入記錄.....\n");
//設(shè)置屬性
$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);
//執(zhí)行語句
$stmt->execute();
//結(jié)束語句
$stmt->close();
//關(guān)閉連接
$con->close();
?>輸出結(jié)果
創(chuàng)建表..... 插入記錄..... Successful..... Value: 1