v2.5.2
Giriş yap

php mysqlden veri çekme sorunu

zehrabilkin
287 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

Cevap yaz
Cevaplar (1)
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.