SevkiBilge

PHP'de PDO ile prepared statement kullanırken karşılaştığım hata

VolkanAslanTech
· 4 gün önce · 2 görüntülenme
Arkadaşlar merhaba, son günlerde bir projede PDO ile prepared statement kullanırken garip bir hatayla karşılaştım ve çözüm bulamadım. Normalde PDO bağlantımı kuruyorum, try-catch blokları içinde sorgumu hazırlıyorum, bindParam veya bindValue ile değerleri atıyorum. Ama bir sorguda sürekli olarak "Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens" hatasını alıyorum.

Şöyle bir kod parçası yazıyorum: Sorgumda iki adet placeholders (?) kullanıyorum, bindParam ile de iki değişken atıyorum. Ama hata almaya devam ediyorum. Belki de sorgu içinde bir yerde fazladan bir soru işareti veya eksik bir parametre var diye düşündüm, sorguyu defalarca kontrol ettim. Hatta sorguyu doğrudan MySQL Workbench'te çalıştırdığımda sorunsuz çalışıyor. PDO bağlantı ayarlarımda bir sıkıntı mı var acaba? Özellikle emülasyon modu (PDO::ATTR_EMULATE_PREPARES) ile ilgili bir şey okumuştum, belki onunla ilgili olabilir mi?

Bir de bindParam ile bindValue arasındaki farkı biliyorum ama belki de referans hatası yapıyorum. Örneğin döngü içinde bindParam kullanırken değişkenin son değerini alması gibi bir durum var, onu da kontrol ettim. Yine de hata alıyorum. Sizce hangi noktayı atlıyor olabilirim? Bu hatayı daha önce yaşayıp çözen var mı? Teşekkürler.
0 yanıt

Henüz yanıt bulunmuyor. İlk yanıtlayan siz olun!

Yanıt yazmak için giriş yapın.