معنى PGRST116: JSON object requested, multiple (or no) rows

ترجمة PGRST116: «طُلب عنصر واحد، ورجع أكثر من سطر أو ولا سطر». إيش تعني في Supabase، وليش الرقم في details يحدد مشكلتك، وإيش تكتب لأداة الذكاء الاصطناعي.

30 أكتوبر 2026 (19 جمادى الأولى 1448 هـ) · قراءة 3 دقائق · كتبها

PGRST116 رمز خطأ من Supabase، ورسالته JSON object requested, multiple (or no) rows returned ترجمتها «طُلب عنصر واحد، ورجع أكثر من سطر أو ولا سطر». معناها: الكود طلب سطر واحد بالضبط من قاعدة البيانات، والطلب لقى صفر سطور أو أكثر من سطر، فرفض Supabase يختار من عنده.

الترجمة كلمة بكلمة

الرسالةالترجمةإيش تعني
PGRST116رمز الخطأرمز من PostgREST، الجزء اللي يرد على طلبات البيانات في Supabase
JSON object requestedطُلب عنصر واحدالكود استخدم .single(): «أبي سطر واحد بالضبط»
multiple (or no) rows returnedرجع أكثر من سطر أو ولا سطرالطلب ما لقى سطر واحد بالضبط
Cannot coerce the result to a single JSON objectما يمكن تحويل النتيجة لعنصر واحدنفس الخطأ بصيغة أحدث
The result contains 0 rowsالنتيجة فيها صفر سطورالسطر مخفي أو ناقص
The result contains 2 rowsالنتيجة فيها سطرينالسطر مكرر أو الفلتر واسع

السطرين الأخيرين يطلعون في حقل details في نفس الرد، وهم أهم شي في الخطأ: الصفر والاثنين لهم أسباب مختلفة تمامًا.

وين تشوفها

في Console (اضغط F12) أو في تبويب Network، والطلب حالته 406. المستخدم يشوف صفحة فاضية أو متعطّلة، مثل صفحة الحساب أو صفحة طلب. والرسالة ما تتترجم للعربي، لأنها رد من Supabase كما هو.

مشكلتك ولا مشكلة الموقع؟

  • إذا أنت مستخدم: ما فيه شي تسويه من جهازك. المشكلة في بيانات المنتج أو كوده.
  • إذا المنتج منتجك: شوف رقم السطور في details أول. صفر غالبًا يعني إن قواعد RLS تخفي السطر عن المستخدم، أو إن السطر ما انضاف أصلًا. اثنين غالبًا يعني إن السطر انضاف مرتين لنفس المستخدم، أو إن الفلتر يجيب أكثر من اللازم.

إيش تكتب لـ Lovable أو Bolt أو Cursor

الاقتراح اللي يجي كثير: تبديل .single() بـ .maybeSingle() في كل مكان. الخطأ يختفي، والسطر الناقص أو المكرر يبقى. أعطها الرقم من details، وانسخ هذا:

A Supabase query fails with PGRST116 (406): "JSON object requested, multiple (or no) rows returned".
The details field says: <The result contains 0 rows / 2 rows>.
The query is in <file>, on table <table>, for <which user or record>.
If 0 rows: check whether RLS hides the row from this user, or whether the row was never created.
If 2+ rows: find where the duplicate rows come from and whether a unique constraint is missing.
Do not replace .single() with .maybeSingle() everywhere to hide the error.

الحل خطوة بخطوة

كيف تعرف كم سطر رجع الطلب، والحل حسب الرقم، في درس JSON object requested, multiple (or no) rows returned: إيش يعني؟. وإذا الصفر سببه RLS، شوف new row violates row-level security في Supabase.

وإذا تبي أحد يتأكد إن بيانات عملائك سليمة قبل الإطلاق، حل مشاكل تطبيقك يبدأ بفحص مكتوب قبل أي تعديل.

تبي تعرف إذا فيه جدول مكشوف في منتجك؟ جرّب فحص RLS المجاني: دقيقتين، وما نشوف بياناتك.

عندك نفس المشكلة؟

علّمنا إيش صار بدون كلام تقني، ونقول لك إيش تحتاج وكم يكلّف.

ابدأ طلبك

بدون أي كلمة سر · عرض السعر مجاني