v2.5.2
Giriş yap

php mysqlden veri çekme sorunu

zehrabilkin
288 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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

abdullahx
705 gün önce

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.