maxdb_stmt_bind_param
stmt->bind_param
Binds variables to a prepared statement as parameters
Description
Procedural style:
boolmaxdb_stmt_bind_param
resourcestmt
stringtypes
mixedvar1
mixed...
Object oriented style (method):
stmt
bool
bind_param
stringtypes
mixedvar1
mixed...
Procedural style (extended syntax):
boolmaxdb_stmt_bind_param
resourcestmt
stringtypes
arrayvar
Object oriented style (method) (extended syntax):
stmt
bool
bind_param
stringtypes
arrayvar
maxdb_stmt_bind_param is used to bind variables for the
parameter markers in the SQL statement that was passed to
maxdb_prepare.
The string types contains one or more characters which specify
the types for the corresponding bind variables.
The extended syntax of maxdb_stmt_bind_param allows to give the parameters
as an array instead of a variable list of PHP variables to the function. If the array variable has not been
used before calling maxdb_stmt_bind_param, it has to be initialized as an emtpy
array. See the examples how to use maxdb_stmt_bind_param with extended syntax.
Variables for SELECT INTO SQL statements can also be bound using maxdb_stmt_bind_param.
Parameters for database procedures can be bound using maxdb_stmt_bind_param. See the
examples how to use maxdb_stmt_bind_param in this cases.
If a variable bound as INTO variable to a SQL statement was used before, the content of this variable
is overwritten by the data of the SELECT INTO statement. A reference to this variable will be invalid after a call to
maxdb_stmt_bind_param.
For INOUT parameters of database procedures the content of the bound INOUT variable is overwritten by the output
value of the database procedure. A reference to this variable will be invalid after a call to
maxdb_stmt_bind_param.
Type specification chars
Character
Description
i
corresponding variable has type integer
d
corresponding variable has type double
s
corresponding variable has type string
b
corresponding variable is a blob and will be send in packages
Return values
&return.success;
See also
maxdb_stmt_bind_result,
maxdb_stmt_execute,
maxdb_stmt_fetch,
maxdb_prepare,
maxdb_stmt_send_long_data,
maxdb_stmt_errno,
maxdb_stmt_error
Example
Object oriented style
query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");
$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");
$stmt->bind_param('sss', $zip, $name, $state);
$zip = '11111';
$name = 'Georgetown';
$state = 'NY';
/* execute prepared statement */
$stmt->execute();
printf("%d Row inserted.\n", $stmt->affected_rows);
/* close statement and connection */
$stmt->close();
/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", $maxdb->affected_rows);
/* close connection */
$maxdb->close();
?>
]]>
Procedural style
]]>
The above examples would produce the following output:
Procedural style (SELECT INTO)
]]>
The above examples would produce the following output:
Procedural style (DB procedure)
]]>
The above examples would produce the following output:
Object oriented style (extended syntax)
query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");
$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");
$arr = array();
$stmt->bind_param('iss', $arr);
$arr[0] = 11111;
$arr[1] = 'Georgetown';
$arr[2] = 'NY';
/* execute prepared statement */
$stmt->execute();
printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));
$arr[0] = 22222;
$arr[1] = 'New Orleans';
$arr[2] = 'LA';
/* execute prepared statement */
$stmt->execute();
printf("%d Row inserted.\n", $stmt->affected_rows);
/* close statement and connection */
$stmt->close();
$result = $maxdb->query("SELECT * from temp.mycity WHERE zip = '11111' OR zip = '22222'");
if ($result) {
while ($row = $result->fetch_row()) {
printf ("%s %s %s\n", $row[0], $row[1], $row[2]);
}
}
/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
$maxdb->query("DELETE FROM temp.mycity WHERE name='New Orleans'");
printf("%d Rows deleted.\n", $maxdb->affected_rows);
/* close connection */
$maxdb->close();
?>
]]>
The above examples would produce the following output: