v2.5.2
Giriş yap

Mysql Controller Yazımı where sorunu

desrana
331 defa görüntülendi

Merhaba dostlar, başlığı tam nasıl yazsam anlaşılır bilemedim :)

Sorunum şu;

Bir sebepten dolayı controller isimlerini veritabanına kayıt ediyorum.

    App\Controllers\Test

Veritabanında arama yaparken sanıyorumki ters \\ işaretleri problem yaratıyor. Onları kaldırınca problem ortadan kalkıyor.

Boş dönen sorgu; (Hata vermiyor boş dönüyor)

    SELECT * FROM `table` WHERE controller = 'App\Controllers\Test';

Dolu dönen sorgu;

    SELECT * FROM `table` WHERE controller = 'AppControllersTest';

Bu sorun neden olur bilemedim. Fikri olan var mı ?

Cevap yaz
Cevaplar (1)
desrana
870 gün önce

Sorunumu çözdüm,

günün birinde problem yaşayanlar için; MySQL backslash'ı yani \ karakterini özel olarak kullanıyor. Bu yüzden bu karakteri 2 tane yazmak gerekiyor.

str_replace ile çözüm üretilebilir.
Örneğin;

str_replace("\\", "\\\\", $text); 1 tane backlash için \ 2 tane yazmak gerekli.

:)