如标题中所述,我无法在我的主机上安装mysqlnd,但我想继续使用预准备语句。为了便于编码,在我的开发机器上,我使用了这种方法:
public function qry( $query, $params = null ){
if ( is_array( $params ) ){
if ( substr_count( $query, "?") != count($params) ){
error("Parameters amount does not match query!");
}
$types = "";
foreach( $params as $parameter ) {
$t = substr( gettype( $parameter ), 0, 1 );
if ( in_array( $t , array( "i", "s", "d" ) ) ){
$types .= $t;
} else {
error( "Invalid parameter type: $t !" );
}
}
}
$q = $this -> dbc -> prepare( $query );
if ( $q === false ){
error( "Error in SQL statement: " . $this -> dbc -> error );
}
if ( $params ){
call_user_func_array( array( $q, "bind_param" ) , array_merge( array( $types ), refValues( $params ) ) );
}
$q -> execute();
return $q -> get_result();
}
如果没有get_result,我将如何返回相同或类似的结果集?
答案 0 :(得分:1)
我最终重写了项目并使用了PDO