mysqli_bind_param
    (PHP 5 CVS only)
mysqli_bind_param -- Binds variables to a prepared statement as parameters
Description
bool 
mysqli_bind_param ( object stmt, array types, mixed var1 [, mixed var2, ...])
     mysql_bind_param() is used to bind variables for the
     parameter markers in the SQL statement that was passed to
     mysql_prepare(). 
     The array types specifies the types for the
     diffrent bind variables. Valid array values are MYSQLI_BIND_INT, MYSQLI_BIND_DOUBLE,
     MYSQLI_BIND_STRING and MYSQLI_SEND_DATA.
    
Note: 
       If data size of a variable exceeds max. allowed package size
       (max_allowed_package), you have to specify MYSQLI_SEND_DATA and use
       mysqli_send_long_data() to send the data in packages.
      
       The number of variables and array values must match the number of
       parameters in the statement.
     
Example 1. Prepared statements Procedural style: <?php
    /* connect to database */
    $link = mysqli_connect("localhost", "mysql_user", "mysql_password", "mydb") or
        die("Could not connect: " . mysqli_connect_error());
    /* create mytable */
    mysqli_query($link, "CREATE TABLE mytable (a int, b int, c varchar(30))");
    
    /* prepare statement and bind variables for insert statements */
    $stmt = mysqli_prepare($link, "INSERT INTO mytable VALUES (?, ?, ?)");
    mysqli_bind_param($stmt, array(MYSQLI_BIND_INT, MYSQLI_BIND_INT,
                      MYSQLI_BIND_STRING), $a, $b, $c);
    $a = 1;
    $b = 2;
    $c = "I prefer OpenSource software";
    /* execute prepared statement */
    mysqli_execute($stmt);
    /* close statement and connection */
    mysqli_close_stmt(stmt);
    mysqli_close(link);
?> |  
 Object oriented style: <?php
    /* connect to database */
    $mysql = mysqli_connect("localhost", "mysql_user", "mysql_password", "mydb") or
        die("Could not connect: " . mysqli_connect_error());
    /* create mytable */
    $mysql->query("CREATE TABLE mytable (a int, b int, c varchar(30))");
    
    /* prepare statement and bind parameters */
    $stmt = mysql->prepare("INSERT INTO mytable VALUES (?, ?, ?)");
    $stmt->bind_param(array(MYSQLI_BIND_INT, MYSQLI_BIND_INT,
                      MYSQLI_BIND_STRING), $a, $b, $c);
    $a = 1;
    $b = 2;
    $c = "I prefer opensource software";
    /* execute prepared statement */
    $stmt->execute();
    /* close statement and connection */
    $stmt->close();
    $mysql->close();
?> |  
  | 
     See also: mysqli_bind_result(),
     mysqli_execute(),
     mysqli_fetch()
     mysqli_prepare()
     mysqli_send_long_data()