نوشته شده توسط
mohamad_a226
من با برنامه Postman تست میکنم و فقط همین Syntax error رو میزنه و چیزی نمیزنه.
چند نکته دیگه هم حتما در برنامه خود لحاظ کنید.
۱. حتما مطمئن شوید که $row خالی نباشد در صورت خالی بودن به این معنی است که meta_key مورد نظر _post_views_count برای پست مورد نظر شما وجود ندارد و بجای آپدیت باید از اینسرت استفاده کنید. (دستور آپدیت حتی اگر سطری برای بروزرسانی نیابد هیچ خطایی بر نمیگرداند)
۲. چنین دستوراتی که مقدار جدید وابسته به مقدار قبلی می باشد حتما باید در یک TRANSACTION صورت گیرد. که یا باید از دستورات begin commit rollback استفاده کنید یا اینکه در این مورد خاص بروزرسانی را در یک دستور پیاده کنید چیزی شبیه به این:
update wp_postmeta set meta_value=meta_value+1 where ...
(شرح مشکل در صورت استفاده از کد شما: ممکن است بصورت همزمان دو کاربر یک صفحه را باز کنند. هر دو دستور سلکت اجرا می شود مثلا مقدار قبلی ۲۰ تا بوده یکی بهش اضافه میشه یعنی عدد ۲۱ و سپس هر دو دستور بروزرسانی مقدار ۲۱ را در جدول درج می کنند در حالی که باید مقدار ۲۲ ذخیره شود)