mysqli_stmt::bind_param

mysqli_stmt_bind_param

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::bind_param -- mysqli_stmt_bind_paramAgrega variables a una sentencia preparada como parámetros

Descripción

Estilo orientado a objetos

mysqli_stmt::bind_param(string$types, mixed&$var1, mixed&$... = ?): bool

Estilo por procedimientos

mysqli_stmt_bind_param(
    mysqli_stmt$stmt,
    string$types,
    mixed&$var1,
    mixed&$... = ?
): bool

Enlaza variables para los marcadores de parámetros en la instrucción SQL que se envía a mysqli_prepare().

Nota:

Si el tamaño de los datos de una variable excede el tamaño máximo del paquete permitido (max_allowed_packet), usted tiene que especificar b en types y usar mysqli_stmt_send_long_data() para enviar los datos en paquetes.

Nota:

Debe de tener cuidado cuando use mysqli_stmt_bind_param() en conjunción con call_user_func_array(). Tenga en cuenta que mysqli_stmt_bind_param() requiere de parámetros que se pasan por referencia, mientras que call_user_func_array() puede aceptar como parámetro una lista de variables que pueden representar referencias o valores.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

types

Una cadena que contiene uno o más caracteres que especifican los tipos para el correspondiente enlazado de variables:

Especificación del tipo de caracteres
CarácterDescripción
ila variable correspondiente es de tipo entero
dla variable correspondiente es de tipo double
sla variable correspondiente es de tipo string
bla variable correspondiente es un blob y se envía en paquetes
var1

El número de variables y la longitud de la cadena types debe coincidir con los parámetros en la sentencia.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
$mysqli
= new mysqli('localhost', 'my_user', 'my_password', 'world');


if (mysqli_connect_errno()) {
printf("Error de conexión: %s\n", mysqli_connect_error());
exit();
}

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;


$stmt->execute();

printf("%d Fila insertada.\n", $stmt->affected_rows);


$stmt->close();


$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Fila borrada.\n", $mysqli->affected_rows);


$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
$link
= mysqli_connect('localhost', 'my_user', 'my_password', 'world');


if (!$link) {
printf("Error de conexión: %s\n", mysqli_connect_error());
exit();
}

$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;


mysqli_stmt_execute($stmt);

printf("%d Fila insertada.\n", mysqli_stmt_affected_rows($stmt));


mysqli_stmt_close($stmt);


mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Fila borrada.\n", mysqli_affected_rows($link));


mysqli_close($link);
?>

El resultado del ejemplo sería:

1 Fila insertada. 1 Fila borrada.

Ver también

To Top