Función PHP mysqli_stmt_attr_set ()
Definición y uso
Puede crear una declaración preparada, que tiene marcadores de parámetro ("?") En caso de valores utilizando la función mysqli_prepare (). Una vez que prepare una declaración, debe vincular valores a los parámetros de la declaración creada utilizando la función mysqli_stmt_bind_param () .
Puede establecer varios atributos para la declaración que cambia su comportamiento usando la función mysqli_stmt_attr_set ().
Sintaxis
mysqli_stmt_attr_set($stmt, $attr, $mode);
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | stmt(Mandatory) Este es un objeto que representa una declaración preparada. |
2 | attr(Mandatory) Este es un valor entero que representa el atributo que desea establecer en la declaración dada, que puede ser uno de los siguientes:
|
3 | mode(Mandatory) Este es un valor entero que desea asignar al atributo. |
Valores devueltos
La función PHP mysqli_stmt_attr_set () devuelve un valor booleano que es verdadero en caso de éxito y falso en caso de error.
Versión PHP
Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.
Ejemplo
El siguiente ejemplo demuestra el uso de la función mysqli_stmt_attr_set () (en estilo procedimental):
<?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);
?>
Esto producirá el siguiente resultado:
Table Created.....
Record Inserted.....
Successful.....
Value: 1
Ejemplo
En el estilo orientado a objetos, la sintaxis de esta función es $ stmt-> close (); A continuación se muestra el ejemplo de esta función en el estilo orientado a objetos $ 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();
?>
Esto producirá el siguiente resultado:
Table Created.....
Record Inserted.....
Successful.....
Value: 1