mysqli_bind_param Binds variables to a prepared statement as parameters Description boolmysqli_bind_param objectstmt arraytypes mixedvar1 mixedvar2, ... 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. 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. Prepared statements Procedural style: ]]> Object oriented style: 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