Her şeyden önce PDO'ya yeniyim. Kendimi geliştirmek için küçük bir proje üzerinde çalışıyorum.PHP - PDO - Sadece bir sorgu ile birden çok satır nasıl getirilir?
benim veritabanından tek bir satırı çeker için böyle bir kod kullanıyorum:
$sql = "SELECT * FROM users WHERE ID = 1";
$sql_prepare = $db -> prepare($sql);
$result = $db -> query($sql);
$user = $result -> fetch(PDO::FETCH_ASSOC);
ve bunun gibi bu satırın herhangi bir sonuç echo:
echo $user['ID'];
echo $user['Name'];
ben gerek veritabanından yalnızca bir sorgu kullanarak birden çok satır getir. İhtiyacım olan her satır için tekrar tekrar sorgulamak istemiyorum. Aklımda geldi
ilk şey bu çalışıyordum:
$sql = "SELECT * FROM users WHERE ID = 1 AND ID = 4 AND ID = 17";
$sql_prepare = $db -> prepare($sql);
$result = $db -> query($sql);
$user = $result -> fetch(PDO::FETCH_ASSOC);
Ama beklendiği gibi işe yaramadı. Birkaç saat boyunca kodlama forumları araştırdım, ancak tüm cevaplar fetchAll yöntemini kullanmak ve daha sonra foreach döngüsünü kullanarak sonuç çıkarmaktı. Tüm veritabanı tablosunu yükleyerek kodu zorlamak istemiyorum. Sadece bir sorgu kullanarak veritabanımdan belirli satırları yüklemek istiyorum.
Yani benim soru:
Ben fetchAll yöntemi ve tek bir sorgu ile kullanmadan benim veritabanından çoklu ve spesifik satırlar getirmek nasıl?
Yanıtlarınız ve zamanınız için şimdiden teşekkür ederiz.
Soru daha önce sorulmuşsa özür dilerim.
bak ** VEYA **. – Michas
FetchAll veritabanınıza istekte bulunmaz. Sorgunuzun sonucu üzerinde çalışır. Sorgunuz bir sonuç döndürürse, fetchall size bir sonuç verecektir. 2 döndürürse o zaman fetchall olacaktır. –
@DanielNielson Açıkladığınız için teşekkürler. :) – OnrS90