Kotchasan Framework Documentation
PDOResult
PDOResult
\Kotchasan\Result\PDOResult is a ResultInterface implementation for PDO queries.
Creation
use Kotchasan\Result\PDOResult;
// From PDOStatement
$result = new PDOResult($statement);
// Define result format
$result = new PDOResult($statement, 'array');Constructor
public function __construct(\PDOStatement $statement, ?string $resultFormat = null)| Parameter | Type | Description |
|---|---|---|
$statement |
\PDOStatement |
PDOStatement instance |
$resultFormat |
string\|null |
Format: 'default', 'object', 'array' |
Result Formats
Object Format (Default)
$result = new PDOResult($statement); // or 'default' or 'object'
$row = $result->fetch();
echo $row->id;
echo $row->name;Array Format
$result = new PDOResult($statement, 'array');
$row = $result->fetch();
echo $row['id'];
echo $row['name'];Methods
fetch()
Fetch next row (object or array according to format).
while ($row = $result->fetch()) {
echo $row->name;
}fetchAll()
Fetch all rows as array.
$users = $result->fetchAll();
foreach ($users as $user) {
echo $user->name;
}fetchColumn(int $columnNumber = 0)
Fetch single column.
$id = $result->fetchColumn(); // First column
$name = $result->fetchColumn(1); // Second columnrowCount()
Number of affected rows.
// For INSERT/UPDATE/DELETE
$affectedRows = $result->rowCount();getResult()
Get PDOStatement.
$statement = $result->getResult();
// $statement instanceof \PDOStatementreset()
Reset by re-executing the statement.
$result->reset(); // Execute statement againclose()
Close cursor.
$result->close(); // Calls closeCursor()Usage Examples
Query and Process
$database = \Kotchasan\Database::create();
$result = $database->select('*')
->from('user')
->where([['status', 1]])
->execute();
// Fetch row by row
while ($user = $result->fetch()) {
echo "{$user->id}: {$user->name}\n";
}
// Close cursor
$result->close();Check Empty
$result = $database->select('*')
->from('user')
->where([['id', 999]])
->execute();
if ($result->isEmpty()) {
echo "User not found";
}Get Column Count
$result = $database->select('id', 'name', 'email', 'phone')
->from('user')
->execute();
echo "Columns: " . $result->columnCount(); // 4Internal Properties
| Property | Type | Description |
|---|---|---|
$statement |
\PDOStatement |
PDO statement instance |
$isEmpty |
bool |
Flag indicating if result is empty |
$resultFormat |
string |
Format: 'default', 'array', 'object' |
Related Classes
- ResultInterface - Interface
- ArrayResult - Array implementation
- Database - Core database class