MySQL Query Yardım

2 Cevap php

Aşağıda ürünlerin tabloda kategori id bulmalıyız. Ancak cms_ecom_categories.id &12& gibi & karakteri ile sarılır. I sarmak için kullanabilirsiniz joker çeşit var mı? gibi %cms_ecom_categories.id%?

 $sql = "SELECT * FROM cms_ecom_products, cms_ecom_categories 
         WHERE cms_ecom_products.pCategories = cms_ecom_categories.id
               AND cms_ecom_categories.slug = ".$page."";

Kim yardımcı olabilir şimdiden herkese teşekkürler.

2 Cevap

Kullanmak LIKE => WHERE id LIKE %12% olabilir

Veya id & işaretlerini ekleyin: $page = '&' . $page . '&' => WHERE id = $page

  • Kullanmak ya AND cms_ecom_categories.slug = '&".$page."&' - sadece tırnak içinde ve işareti koymak
  • Veya anlam, _ joker kullanmak exactly one character: AND cms_ecom_categories.slug LIKE '_".$page."_'
  • Veya anlam,% joker kullanmak zero or more characters: AND cms_ecom_categories.slug LIKE '%".$page."%'

Ama $ sayfa değişkeni kendisi değiştirmek için daha iyi olabilir. Ve neden bir dizeden SQL sorguları inşa ediyoruz? Sen parameterized queries kontrol etmelidir veya en azından escape, daha kolay ve daha güvenli.