پاسخ : چک کردن وجود یک رکور با wpdb
نقل قول:
نوشته اصلی توسط
AtrafNet
شاید به خاطر همین فارسی و rawurlencode بودن لینک ها نتونستید از روشی که جناب طوسی دادن استفاده کنید چون طوری که من در کد اول شما دیدم شما برای پیدا کردن row مورد نظر در کوئری جلوی WHERE از شرط یکسان بودن محتوای لینک ها استفاده کردید میگم شاید چون لینک ها طولانیه و فارسی انکد شده هستن نمی تونه مقایسه درستی انجام بده و یکسان پیدا نمیکنه.
چون معمولاً تو این شرایط از ID برای پیدا کردن row های موجود استفاده میکنن اما اگه شما به ID دسترسی ندارید به نظرم اگه یه مقدار منحصر به فرد بهتری نسبت به لینک که انگلیسی باشه و کوتاه بهتر عمل کنه.
درباره wpdb->replace هم به نظرم ممکنه یه تغییر کوچکی در محتوای لینک های جدید احساس کرده که یکسان اضافه کرده مثلاً فکر کنید یه فاصله اضافی تو لینک ها هم می تونه ردیف جدید حساب بشه البته مسلماً فاصله های قبل و بعد و سایر عمل های بررسی ورودی رو انجام دادید ولی پیشنهاد میکنم یه بار محتویات row های یکسان اضافه شده رو با هم مقایسه کنید ببینید واقعاً یکسان هستن یا نه.
با تشکر از همه اساتید به خاطر وقتی که گذاشتند.
در نهایت تکنیکی که زدم این بود که SHA256 هر لینک رو ساختم بعد توی یه ستون به شکل primary ذخیره کردم حالا دیگه اصلا احتیاج به چک کردن موجود بودن رکورد نیست چون رکورد primary که همان رشته انکود شده است برای هر لینک یکتاست.