mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-11-15 20:47:15 +01:00
52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
|
# Database-Komponente
|
||
|
|
||
|
###### Verwendete Libraries
|
||
|
|
||
|
* **Aura.SqlQuery**:
|
||
|
* Composer: `aura/sqlquery:2.7.*`
|
||
|
* Packagist: https://packagist.org/packages/aura/sqlquery
|
||
|
* GitHub: https://github.com/auraphp/Aura.SqlQuery
|
||
|
* Docs: https://github.com/auraphp/Aura.SqlQuery/tree/2.x
|
||
|
|
||
|
* **~~Aura.Sql~~** Wird in 19.4 entfernt
|
||
|
* Composer: `aura/sql:3.*`
|
||
|
* Packagist: https://packagist.org/packages/aura/sql
|
||
|
* GitHub: https://github.com/auraphp/Aura.Sql
|
||
|
* Docs: https://github.com/auraphp/Aura.Sql/blob/3.x/docs/index.md
|
||
|
|
||
|
##### Database-Komponente aus Container holen
|
||
|
|
||
|
```php
|
||
|
$db = $container->get('Database');
|
||
|
```
|
||
|
|
||
|
Im alten Bereich:
|
||
|
|
||
|
```php
|
||
|
$db = $this->app->Container->get('Database');
|
||
|
```
|
||
|
|
||
|
## Themen
|
||
|
|
||
|
* [Datensätze abrufen (fetch)](fetch_results.md)
|
||
|
* [Datensätze abrufen mit Generatoren (yield)](yield_results.md)
|
||
|
* [Datensätze ändern](data_manipulation.md)
|
||
|
* [Transaktionen](transactions.md)
|
||
|
* [Named Parameter / Prepared Statements](named_parameter.md)
|
||
|
* [SQL Query Builder](query_builder.md)
|
||
|
|
||
|
## Exceptions
|
||
|
|
||
|
Die Database-Komponente verwendet intern `mysqli`. Im Unterschied zu `mysqli` werden in Fehlerfällen aber
|
||
|
Exceptions geworfen; z.B.:
|
||
|
|
||
|
* Wenn die Verbindung zur Datenbank fehlschlägt => `ConnectionException`
|
||
|
* Wenn ein SQL-Statement fehlerhaft ist oder aus anderen Gründen nicht erfolgreich ausgeführt
|
||
|
werden kann => `QueryFailureException`
|
||
|
* Wenn `Named Parameter` fehlen => `MissingParameterException`
|
||
|
|
||
|
##### ExceptionInterface
|
||
|
|
||
|
Alle Exceptions die von der Database-Komponente geworfen werden implementieren das
|
||
|
`\Xentral\Components\Database\Exception\DatabaseExceptionInterface` Interface.
|