classMysqliStatement
final class MysqliStatement
implements StatementInterface
mysqli prepared statement adapter implementing StatementInterface for ZTD layer.
This class wraps a mysqli_stmt and provides the minimal interface required by the ZTD session for executing statements and fetching results.
Methods§
public function __construct(mysqli_stmt $statement, mysqli $mysqli)Adapt a prepared native statement and retain its connection for error details.
Parameters
$statement | mysqli_stmt | |
$mysqli | mysqli |
public function execute(?array $params = null): bool{@inheritDoc}
Parameters
$params | ?array |
Returns
boolThrows
DatabaseException On database error.Test cases 7
MysqliStatementTest::testExecutesExplicitParameterscallsMysqliStatementTest::testFetchAllReturnsNoRowsOrMetadataForAWritecallsMysqliStatementTest::testPreservesBindingsWithAnEmptyParameterArraycallsMysqliStatementTest::testReportsNativeExecutionErrorsWithoutParameterscallsMysqliStatementTest::testReportsNativeExecutionErrorsWithParameterscallsMysqliStatementTest::testResultColumnsKeepsTheResultAvailableAfterReadingMetadatacallsMysqliStatementTest::testRowCountReportsNativeAffectedRowscalls
Calls 2
- method-call
mysqli_stmt::execute()line 48 - new DatabaseException line 50
public function fetchAll(): array{@inheritDoc}
Returns
arrayTest cases 4
public function resultColumns(ResultColumnTypeResolver $typeResolver): array{@inheritDoc}
Parameters
$typeResolver | ResultColumnTypeResolver |
Returns
arrayTest cases 2
Calls 2
- method-call
mysqli_stmt::get_result()line 108 - static-call MysqliResultColumnExtractor::extract() line 113
public function rowCount(): int{@inheritDoc}
Returns
intPrivate surface 3§
Implementation details, listed for orientation only.
private mysqli_stmt $statementprivate mysqli $mysqliprivate mysqli_result|false|null $result = nullTest cases 7§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 7
MysqliStatementTest::testExecutesExplicitParameterscallsMysqliStatementTest::testFetchAllReturnsNoRowsOrMetadataForAWritecallsMysqliStatementTest::testPreservesBindingsWithAnEmptyParameterArraycallsMysqliStatementTest::testReportsNativeExecutionErrorsWithoutParameterscallsMysqliStatementTest::testReportsNativeExecutionErrorsWithParameterscallsMysqliStatementTest::testResultColumnsKeepsTheResultAvailableAfterReadingMetadatacallsMysqliStatementTest::testRowCountReportsNativeAffectedRowscalls