سلام دوستان عزیز:
میخواسم ببینم چطوری میشه دستور لایک رو نوشت که نتیجه بهتر گرفت مثلا آموزش جاوا و آموزش آجاکس فقط با دیدن آموزش لیست کنه
با این کد انجام دادم ولی نمیشه
mysql_query("SELECT * FROM _tbup WHERE `sub` LIKE '%{$sub}%'");
سلام دوستان عزیز:
میخواسم ببینم چطوری میشه دستور لایک رو نوشت که نتیجه بهتر گرفت مثلا آموزش جاوا و آموزش آجاکس فقط با دیدن آموزش لیست کنه
با این کد انجام دادم ولی نمیشه
mysql_query("SELECT * FROM _tbup WHERE `sub` LIKE '%{$sub}%'");
mysql_query("SELECT * FROM _tbup WHERE `sub` LIKE '%{$sub}%' OR `sub` LIKE '{$sub}%' OR `sub` LIKE '%{$sub}'");
ببین کار میکنه
راستش اگه متغیر sub$ شما مقدارش برابر با آموزش باشه با قرار گرفتن بین دو کاراکتر ٪ قطعا باید هر موضوعی که توش آموزش هست را بیاره ، مشکل باید از جای دیگه باشه .... ، در کل کلا با این موضوع قررادادن متغیر و غیره توی quote حال نمیکنم ، این باید هر دو را لیست کنه مگه اینکه اصلا وجود نداشته باشه :
mysql_query("SELECT * FROM _tbup WHERE sub LIKE '%".$sub."%'");
شاید خیلی مرتبط نباشه ولی Collation دیتابیس/جداول/فیلدها رو چک کنید که روی utf8_bin باشه. ضمناً کوئری 'SET NAMES 'utf8 قبل از این کوئری اجرا شده باشه. اگر هم از mysql_real_escape_string استفاده میکنید، قبلش حتماً دستور ;('mysql_set_charset('utf8 رو اجرا کنید.
دوستان عزیز من نتیجه گرفتم گفتم شماهم استفاده کنید
mysql_query("SELECT * FROM _tbup WHERE MATCH(sub) AGAINST('+$sub' IN BOOLEAN MODE) ");
http://programmers.stackexchange.com/questions/155645/better-way-to-search-for-text-in-two-columns
خوبه که مشکلتون رفع شد ولی دقت کنید که Full Text Search فقط در MyISAM قابل دسترسی هست و توی InnoDB این ویژگی در دسترس نیست.
من توی stackoverflow.com خوندم که Full Text Search توی نسخه ی 5.6.4 MySQL به InnoDB اضافه شده: Fulltext Search with InnoDB
نمیدونم والا، توی سایت MySQL.com چیزی ندیدم. باز هم بررسی میکنم و اگه واقعاً بود، خبر میدم ولی تا جایی که اطلاع دارم، پشتیبانی نمیشه.