©
This document uses PHP Chinese website manual Release
(PECL maxdb >= 1.0)
maxdb_stmt_execute -- maxdb_stmt::execute — Executes a prepared Query
过程化风格
$stmt
)面向对象风格
The maxdb_stmt_execute() function executes a query that has been previously
prepared using the maxdb_prepare() function represented by the
stmt
resource. When executed any parameter markers which exist will
automatically be replaced with the appropiate data.
If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the maxdb_stmt_affected_rows() function. Likewise, if the query yields a result set the maxdb_fetch() function is used.
Note:
When using maxdb_stmt_execute() , the maxdb_fetch() function must be used to fetch the data prior to preforming any additional queries.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 面向对象风格
<?php
$maxdb = new maxdb ( "localhost" , "MONA" , "RED" , "DEMODB" );
if ( maxdb_connect_errno ()) {
printf ( "Connect failed: %s\n" , maxdb_connect_error ());
exit();
}
$maxdb -> query ( "CREATE TABLE temp.mycity LIKE hotel.city" );
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)" ;
$stmt = $maxdb -> prepare ( $query );
$stmt -> bind_param ( "sss" , $val1 , $val2 , $val3 );
$val1 = '11111' ;
$val2 = 'Georgetown' ;
$val3 = 'NY' ;
$stmt -> execute ();
$val1 = '22222' ;
$val2 = 'Hubbatown' ;
$val3 = 'CA' ;
$stmt -> execute ();
$stmt -> close ();
$query = "SELECT zip, name, state FROM temp.mycity" ;
if ( $result = $maxdb -> query ( $query )) {
while ( $row = $result -> fetch_row ()) {
printf ( "%s (%s,%s)\n" , $row [ 0 ], $row [ 1 ], $row [ 2 ]);
}
$result -> close ();
}
$maxdb -> query ( "DROP TABLE temp.mycity" );
$maxdb -> close ();
?>
Example #2 过程化风格
<?php
$link = maxdb_connect ( "localhost" , "MONA" , "RED" , "DEMODB" );
if ( maxdb_connect_errno ()) {
printf ( "Connect failed: %s\n" , maxdb_connect_error ());
exit();
}
maxdb_query ( $link , "CREATE TABLE temp.mycity LIKE hotel.city" );
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)" ;
$stmt = maxdb_prepare ( $link , $query );
maxdb_stmt_bind_param ( $stmt , "sss" , $val1 , $val2 , $val3 );
$val1 = '11111' ;
$val2 = 'Georgetown' ;
$val3 = 'NY' ;
maxdb_stmt_execute ( $stmt );
$val1 = '22222' ;
$val2 = 'Hubbatown' ;
$val3 = 'CA' ;
maxdb_stmt_execute ( $stmt );
maxdb_stmt_close ( $stmt );
$query = "SELECT zip, name, state FROM temp.mycity" ;
if ( $result = maxdb_query ( $link , $query )) {
while ( $row = maxdb_fetch_row ( $result )) {
printf ( "%s (%s,%s)\n" , $row [ 0 ], $row [ 1 ], $row [ 2 ]);
}
maxdb_free_result ( $result );
}
maxdb_query ( $link , "DROP TABLE temp.mycity" );
maxdb_close ( $link );
?>
以上例程的输出类似于:
11111 (Georgetown,NY) 22222 (Hubbatown,CA)