اذهب إلى المحتوى

السؤال

نشر

لا أعلم ما الأمر، رغم أن جملة الاستعلام بسيطة جداً على إطار العمل laravel، لكن أحصل على خطأ، وهذه هي جملة الاستعلام:

 $user_id = Auth::user()->id;
    $article_id = Request::input('articleId');
    $results = DB::select('select *
                          from favorites
                          where user_id = $user_id AND article_id = $article_id');

وهذا هو الخطأ:


    SQLSTATE[42S22]: Column not found: 1054 Unknown column '$user_id' in 'where clause' (SQL: select * from favorites where user_id = $user_id AND article_id = $article_id)

هذه صورة لبنية الجدول:

q2Gjr.thumb.png.78d3eb23806d4eedb7dddc06

ما الحل؟

Recommended Posts

  • 1
نشر

الخطأ بـ double quotes ( " ) مع إمكانية تضمين المتغيرات، عكس single quotes التي يمكن استعمالها شرط أن لا تتضمن أي متغيرات، إلا في حالة استعمال concatenation - دمج المتغير مع جمل الاستعلام- ، وبهذا يمكن كتابة جملة الاستعلام على الشكلين التاليين :

  • الشكل الأول:
"select *
from favorites
where user_id = $user_id AND article_id = $article_id"
  • الشكل الثاني:
'select *
from favorites
where user_id = '.$user_id.' AND article_id = '.$article_id ;

 

When to use single quotes, double quotes, and backticks

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...