Mysqli get_result替代

Mysqli get_result替代,第1张

Mysqli get_result替代

这是基于相同原理的更整洁的解决方案:

function get_result( $Statement ) {    $RESULT = array();    $Statement->store_result();    for ( $i = 0; $i < $Statement->num_rows; $i++ ) {        $metadata = $Statement->result_metadata();        $PARAMS = array();        while ( $Field = $metadata->fetch_field() ) { $PARAMS[] = &$RESULT[ $i ][ $Field->name ];        }        call_user_func_array( array( $Statement, 'bind_result' ), $PARAMS );        $Statement->fetch();    }    return $RESULT;}

使用mysqlnd, 您通常可以执行以下 *** 作:

$Statement = $Database->prepare( 'SELECt x FROM y WHERe z = ?' );$Statement->bind_param( 's', $z );$Statement->execute();$Result = $Statement->get_result();while ( $DATA = $Result->fetch_array() ) {    // Do stuff with the data}

而且 没有mysqlnd

$Statement = $Database->prepare( 'SELECt x FROM y WHERe z = ?' );$Statement->bind_param( 's', $z );$Statement->execute();$RESULT = get_result( $Statement );while ( $DATA = array_shift( $RESULT ) ) {    // Do stuff with the data}

因此用法和语法几乎相同。主要区别在于替换函数返回结果数组,而不是结果对象。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5600096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存