• 1

كيف أتجاوز هذا الخطأ في Laravel مع العلم أن جملة الاستعلام جد بسيطة؟

لا أعلم ما الأمر، رغم أن جملة الاستعلام بسيطة جداً على إطار العمل 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

ما الحل؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1
$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' ");

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن