mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-11-16 21:17:14 +01:00
78 lines
1.3 KiB
Markdown
78 lines
1.3 KiB
Markdown
# Data Manipulation
|
|
|
|
## `perform()`
|
|
|
|
Für alle SQL Anweisung außer `SELECT`. Die Methode gibt nichts zurück. Sollte die Ausführung
|
|
fehlschlagen, so wird eine Exception geworfen.
|
|
|
|
```php
|
|
$sql = 'UPDATE foo SET bar = :bar WHERE id = :id';
|
|
|
|
$values = [
|
|
'bar' => 'baz',
|
|
'id' => 123,
|
|
];
|
|
|
|
$db->perform($sql, $values);
|
|
```
|
|
|
|
## `fetchAffected()`
|
|
|
|
Für `INSERT`, `REPLACE`, `UPDATE` und `DELETE` Anweisungen. Gibt die Anzahl der betroffenen Datensätze zurück.
|
|
|
|
```php
|
|
$sql = 'UPDATE foo SET bar = :bar WHERE 1';
|
|
|
|
$values = [
|
|
'bar' => 'baz',
|
|
];
|
|
|
|
echo $db->fetchAffected($sql, $values);
|
|
```
|
|
|
|
###### Ausgabe
|
|
|
|
```
|
|
42
|
|
```
|
|
|
|
## `lastInsertId()`
|
|
|
|
Gibt den zuletzt erzeugten Auto-Increment-Wert zurück.
|
|
|
|
```php
|
|
$sql = 'INSERT INTO foo (id, bar) VALUES (NULL, :bar)';
|
|
|
|
$values = [
|
|
'bar' => 'baz',
|
|
];
|
|
|
|
$db->perform($sql, $values);
|
|
// $db->fetchAffected($sql, $values); // Alternative
|
|
|
|
echo $db->lastInsertId();
|
|
```
|
|
|
|
###### Ausgabe
|
|
```
|
|
123
|
|
```
|
|
|
|
## Multiple-Row-Insert
|
|
|
|
```php
|
|
$sql = 'INSERT INTO foo (id, bar) VALUES (NULL, :bar1, :baz1), (NULL, :bar2, :baz2), (NULL, :bar3, :baz3)';
|
|
|
|
$values = [
|
|
'bar1' => 'bar',
|
|
'baz1' => 'baz',
|
|
'bar2' => 'barbar',
|
|
'baz2' => 'bazbaz',
|
|
'bar3' => 'barbarbar',
|
|
'baz3' => 'bazbazbaz',
|
|
];
|
|
|
|
$db->perform($sql, $values);
|
|
// $db->fetchAffected($sql, $values); // Alternative; Rückgabe wäre `3`
|
|
```
|