mysqli_stmt_bind_param

(PHP 5)

mysqli_stmt_bind_param

(no version information, might be only in CVS)

stmt->bind_param -- Enlaza variables como parámetros a una sentencia preparada

Descripción

Estilo por procedimientos:

bool mysqli_stmt_bind_param ( mysqli_stmt stmt, cadena types, mixto &var1 [, mixto & ...] )

Estilo orientado a objetos (método):

class mysqli_stmt {

bool bind_param ( matriz types, mixto &var1 [, mixto & ...] )

}

mysqli_stmt_bind_param() es usada para enlazar variables para los marcadores de parámetros en la sentencia SQL que fue pasada a mysqli_prepare(). La cadena types contiene uno o más caracteres los cuales especifican los tipos para las variables enlazadas correspondientes.

Tabla 1. Especificación de caracteres de tipo

CaracterDescripción
iLa variable correspondiente tiene tipo entero
dLa variable correspondiente tiene tipo doble
sLa variable correspondiente tiene tipo cadena
bLa variable correspondiente tiene tipo BLOB y será enviada en paquetes

Nota: Si el tamaño de los datos de la variable exceden el tamaño maximo permitido para un paquete (max_allowed_package), tienes que específicar b en types y usar mysqli_stmt_send_long_data() para enviar los datos en paquetes.

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

Valores retornados

Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.

Vea también

mysqli_stmt_bind_result(), mysqli_stmt_execute(), mysqli_stmt_fetch(), mysqli_prepare(), mysqli_stmt_send_long_data(), mysqli_stmt_errno(), y mysqli_stmt_error().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

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

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %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;

/* execute prepared statement */
$stmt->execute();

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

/* close statement and connection */
$stmt->close();

/* Clean up table CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", $mysqli->affected_rows);

/* close connection */
$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

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

/* check connection */
if (!$link) {
    
printf("Connect failed: %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;

/* execute prepared statement */
mysqi_stmt_execute($stmt);

printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));

/* close statement and connection */
mysqli_stmt_close($stmt);

/* Clean up table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", mysqli_affected_rows($link));

/* close connection */
mysqli_close($link);
?>

El resultado del ejemplo seria:

1 Row inserted.
1 Row deleted.

Hosting by: hurra.com
Generated: 2007-01-26 18:00:47