php mysqlden veri çekme sorunu
Merhabalar veritabanından veri çekerken where ile koşullandırıyorum
bu koşullandırma yı şu şekilde yapıyorum
$item_controls = $db->prepare("SELECT * FROM mc_user_items where user_item_user_id = '{$session_user_id}' and user_item_item_id = '{$trade_id}'");
sistem kontrol ederken veritabanında olmasına ragmen bulamıyor
bende $session_id ve $trade_id yi silip elle tırnak olmadan yazdıgımda sistem buluyor
sorun kesinlikle session_id ve trade_id'nin değişken tipinde olmalı bunun onune nasıl gecebilirim
user_item_user_id = '{}' bu parantezleri denedim
parantezsiz denedim
tırnaksız denedım hiç birisi olmadı fikri olan varsa lütfen belirtsin
trade_id post ile çekiyorum
Sorguyu çift tırnak içine yazdığınız için normal koşullarda aşağıdaki gibi değişkeni sorgu içerisinde kullanabilirsiniz. id olduklarından dolayı bunların int tipinde olduklarını düşünüyorum.
$item_controls = $db->prepare("SELECT * FROM mc_user_items where user_item_user_id = $session_user_id and user_item_item_id = $trade_id");
Olmazsa daha kesin bir şekilde yapalım.
Veri tabanındaki tablonun user_item_user_id
ve user_item_item_id
sütunlarının tiplerinin INT
olduğundan emin olun. Sonra değişkenleri de type casting ile integer a çevirelim.
$session_user_id = (int) $session_user_id;
$trade_id = (int) $trade_id;
Sonra yukarıdaki sorguyu yazdığınızda çalışması beklenir.