$sqlstr = "update chuku set out_list='".$_POST[out_list]."',order_number='".$_POST[order_number]."',out_data='".$_POST[out_data]."',product=$product,product1 = $product1,product2 = $product2,product3 = $product3',user_name = '".$_POST[user_name]."',custos = '".$_POST[custos]."',deal_name = '".$_POST[deal_name]."'  where id = ".$_POST[id] or die(mysql_error());错误提示:
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 '@20100112@1人份/袋@200@1@2,product1 = 手机@2010082' at line 1
想问下,在更新语句中,想product=$product这种写法正确吗,如果不正确的话,正确的写法该怎么写啊,加双引号和单引号都不行啊!

解决方案 »

  1.   

    打印出sqlstr,就能发现问题所在了。
      

  2.   


    update chuku set out_list='11111',order_number='',out_data='2011-01-12',product=手机@20100112@1人份/袋@200@1@2,product1 = 电脑@20100829@1人份/袋@200@1@2,product2 = 手机@20110104@1人份/袋@400@1@2,product3 = @@@@@',user_name = 'aaaaaa',custos = '刘XX',deal_name = '于XX' where id = 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 '@20100112@1人份/袋@200@1@2,product1 = 电脑@2010082' at line 1
      

  3.   

    update chuku set out_list='11111',order_number='',out_data='2011-01-12',product=手机@20100112@1人份/袋@200@1@2,product1 = 电脑@20100829@1人份/袋@200@1@2,product2 = 手机@20110104@1人份/袋@400@1@2,product3 = @@@@@',user_name = 'aaaaaa',custos = '刘XX',deal_name = '于XX' where id = 红色的错了
      

  4.   

    update chuku set out_list='11111',order_number='',out_data='2011-01-12',product='手机@20100112@1人份/袋@200@1@2',product1 = '电脑@20100829@1人份/袋@200@1@2',product2 = '手机@20110104@1人份/袋@400@1@2',product3 ='@@@@@',user_name = 'aaaaaa',custos = '刘XX',deal_name = '于XX' where id = ??ID传进来; 
    试试
      

  5.   

    SORRY!可能我没表达清楚,这个语句是问题里的那个sql语句的print结果!id值好像没传过来,但其他值好像都传过来了,不知道为什么?