2010-10-31 87 views
1

哎,我想在我的数据库中插入一个嵌入代码,和它给我这个错误插入嵌入代码

Error adding new data: 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 'movie.php?id=6001', 
      type = 'stream', 
      embed = '<object width=\"500\" he' at line 1 

现在这是我使用的代码:

  $sql = "INSERT INTO videos SET 
      title = '".mysql_escape_string($title)."', 
      urltitle = '".slug(mysql_escape_string($title))."', 
      description = '', 
      category = 'streams', 
      first_img = '".mysql_escape_string($imgurl)."', 
      o_url = 'http://watchnewfilms.com/'".mysql_escape_string($thisUrl)."', 
      type = 'stream', 
      embed = '".mysql_escape_string($embed)."', 
      last_updated = '".date("Y-m-d")."', 
      date_added = '".date("Y-m-d")."'"; 

任何人看到任何问题?

谢谢!

回答

3

您应该使用mysql_real_escape_string()

,你应该把它在完全的安全性和更好的可读性整体价值。

你的情况,你有一个额外'这里:

o_url = 'http://watchnewfilms.com/'".mysql_escape_string($thisUrl)."', 
    ----------------------------------^ 
+0

哇,感谢指出了这一点!还什么mysql的真实逃生绳,只是MySQL的转义字符串之间的区别? – 2010-10-31 19:47:07

+0

@Belgin'mysql_real_escape_string()'将与一个实时数据库连接一起工作,并且针对该连接的字符集返回转义结果。 'mysql_escape_string()'是[弃用](http://www.php.net/manual/en/function.mysql-escape-string.php)。 – 2010-10-31 19:49:59