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

السؤال

نشر

لدي الكود التالي:

$sql="update mark_list set ".$_SESSION['question_id']." ='2' where user_id= ".$_SESSION['user_id']; 
mysqli_query($connection, $sql) or die(mysqli_error($connection));

والغرض منه استعمال جملة استعلام mysqli للتغيير في بيانات داخل قاعدة بيانات، لكن يظهر لي الخطأ البرمجي التالي:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '51 ='2' where user_id= 10023' at line 1

كيف يمكنني تجاوزه؟

Recommended Posts

  • 0
نشر

لحل المشكل، عليك بإضافة الرمز "`"، لأن للاسم فقط إمكانية احتواء الأرقام، لذا وجب إضافة علامة الترميز "`" بجانبي الاسم لتفادي أي مشكل، لتصبح جملة الاستعلام كالتالي:

$sql="update mark_list set `".$_SESSION['question_id']."` ='2' where user_id= ".$_SESSION['user_id']; 

مثال:

ننشئ جدول على Mysql:

CREATE TABLE `a``b` (`c"d` INT);

جملة استعلام لتحديد بيانات:

mysql> SELECT 1 AS `one`, 2 AS 'two';
+-----+-----+
| one | two |
+-----+-----+
|   1 |   2 |
+-----+-----+

يمكنك الرجوع إلى الرابط من الموقع الرسمي لـ Mysql.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...