update table set nickname='".$nickname."' where author='test '; 
这个$nickname如果包含`这个字符,update就不能成功更新这个字段 
而这个就可以:update table set nickname='11`22' where author='test';大家帮帮忙。

解决方案 »

  1.   

    mysql_escape_string 试试这个函数.
      

  2.   

    string addslashes ( string str )返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。 update table set nickname='".addslashes($nickname)."' where author='test ';
      

  3.   

    可以说是sql注入攻击的问题吧。