Wie binde ich ein Array an die IN()-Bedingung in einer PDO-Abfrage?
Hallo zusammen! Ich bin neu in PHP und PDO und habe ein Problem. Ich habe ein Array mit Benutzer-IDs, z.B.: [1, 5, 7, 12]. Ich muss aus der Tabelle users diejenigen auswählen, deren ID in diesem Array enthalten ist. In normalem SQL würde ich schreiben:
SELECT * FROM users WHERE id IN (1, 5, 7, 12)
Aber wie mache ich das mit PDO und prepared statements? Ich habe es so versucht:
```php
$ids = [1, 5, 7, 12];
$stmt = $pdo->prepare('SELECT * FROM users WHERE id IN (:ids)');
$stmt->execute([':ids' => $ids]);
```
Aber das funktioniert nicht – PDO beschwert sich, dass es einen skalaren Wert erwartet, kein Array. Ich habe es mit implode versucht und als String übergeben – auch keine Option, weil das die Sicherheit beeinträchtigt.
Wie binde ich ein Array korrekt an IN()? Muss ich Platzhalter dynamisch generieren? Oder gibt es einen cleveren Weg mit PDO? Ich wäre für jede Hilfe dankbar!