データベースクエリに独自のクラスを使用して、mysqli を拡張しています。
class iDatabase extends mysqli
{
public $errorMsg;
private $totalQueries;
private $stmt;
public function __construct()
{
parent::__construct( 'localhost', 'asd', 'asd', 'asd' );
if ( mysqli_connect_errno() )
{
$this->errorMsg = 'Could not connect to server.<br /><i>' . mysqli_connect_error() . '</i>.';
return;
}
parent::query( 'SET NAMES utf8' );
}
}
ただし、クエリを実行して結果を取得するときに問題が発生しています。準備済みステートメントを使用していますが、値と結果がバインドされる方法が混乱しています。少し調査した後、クエリとパラメーターを受け入れるこの関数を思いつきました。
public function psQuery( $query, $params )
{
$this->stmt = parent::prepare( $query );
call_user_func_array( array($this->stmt,'bind_param'), $params );
$this->stmt->execute();
}
私の質問は、これから結果を取り戻すための最良の方法は何ですか? bind_result を使用して各行をフェッチし、ステートメントを閉じる必要があります。行ごとに連想配列を取得したいのですが、それは可能ですか?