مشکل کوئری sql با حروف فارسی

پرسیده شده
فعالیت 1474 روز پیش
دیده شده 940 بار
0
$sql = "SELECT DISTINCT  name_{$language} FROM cities WHERE name_{$language} LIKE \"{$search_param}%\"";

سلام استاد کوئری بالا زمانی که دیتای بازگشتی انگلیسی هست درست کار میکنه اما وقتی فارسی میشه نتیجه درست رو بر نمیگردونه یعنی مثلا %ت LIKE ، تهران رو برنمیگردونه اما  t% LIKE  ، tehran رو برمیگردونه میخواستم ببینم برای کار با دیتای فارسی نکته خاصی هست؟؟

فایل پیوست

علی حبیبی
علی حبیبی

25 فروردین 99

2

مورد تایید استاد

حذف شده

سلام 

این ایراد در % که داخل کوئری گذاشتید پیش میاد، برای جلوگیری از اون می‌تونید از bindValue استفاده کنید که تو مثال زیر آوردم.

 

$sql = "SELECT name FROM city WHERE name LIKE :keywords";
$stmt = $db->prepare($sql);
$stmt->bindValue(':keywords', $city . '%');
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_OBJ);

 

فایل پیوست

امیر صالحی

توسط

امیر صالحی

26 فروردین 99