2010-10-31 3 views
1

hey, je suis en train d'insérer un code embed dans ma base de données, et il me donne cette erreurInsérer le code embed dans la base numéro PHP

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 

maintenant c'est le code que je utilise:

  $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")."'"; 

Quelqu'un voit-il des problèmes?

Merci!

Répondre

3

Vous devez utiliser mysql_real_escape_string()

et vous devez l'appliquer sur la valeur totale pour la sécurité complète et une meilleure lisibilité.

Dans votre cas, vous avez un ' ici supplémentaire:

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

Wow, merci pour cette remarque !, et aussi ce qui est la différence entre mysql réelle chaîne d'échappement et juste mysql chaîne d'échappement? –

+0

@Belgin 'mysql_real_escape_string()' fonctionnera avec une connexion de base de données en direct, et retournera le résultat échappé par rapport au jeu de caractères de cette connexion. 'mysql_escape_string()' est [obsolète] (http://www.php.net/manual/en/function.mysql-escape-string.php). –

Questions connexes