即使它是正确的,插入查询也不起作用

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 ','','','')' at line 2

i get the above error when running my php file.

my insert query is

$updateUserCanvas="insert into  user_canvas(cns_id,course_id,context_id,email_id,resource_id) values(".$canvasId.",".$courseId.",'".$contextId."','".$email."','".$resourseid."')";

cns_id,course_id are integer datatype and context_id,email is varchar and resource_id is text datatype

I searched for the problem and tried adding mysql_real_escape_string

$updateUserCanvas="insert into user_canvas(cns_id,course_id,context_id,email_id,resource_id) values(".$canvasId.",".$courseId.",'".mysql_real_escape_string($contextId)."','".mysql_real_escape_string($email)."','".mysql_real_escape_string($resourseid)."')";

But still not working. i dont know where am mistaking.any help is greatly appreciated.Thanks.

Try This

$updateUserCanvas="insert into user_canvas(cns_id,course_id,context_id,email_id,resource_id) values('".$canvasId."','".$courseId."','".addslashes($contextId)."','".addslashes($email)."','".addslashes($resourseid)."')";

It's something wrong with your $courseId, it may be some string instead of int. Try this string:

$updateUserCanvas="insert into user_canvas (cns_id,course_id,context_id,email_id,resource_id) values ('{$canvasId}','{$courseId}','{$contextId}','{$email}','{$resourseid}')";