2012-03-24 7 views
-1

を削除します。 "& R = R1":それにmysql_real_escape_stringの使用後http://www.adress.com/Article.aspx?ID=262839&R=R1mysql_real_escape_stringのは、私がリンクしてい&-char

を、それがhttp://www.adress.com/Article.aspx?ID=262839

に変わるだから、& -charからすべてを削除します。

なぜですか?そして私はこれをどのように修正できますか?

--- EDIT お返事ありがとうございます。私はPDOに目を通します。

もちろん、問題はmysql_real_escape_stringが原因ではありません。 jqueryのajaxリクエストでデータが失われます。

$('.share').live('click', function(event) { 
     var thesharelink = $(this); 
     var thehref = $(this).attr('href'); 
     $(this).hide(); 
     $.ajax({ 
      url: 'edit.php', 
      type: 'POST', 
      data: 'thehref=' + thehref, 
      error: function(){ 
       $(thesharelink).replaceWith("Could not share"); 
      }, 
      contentType: 'application/x-www-form-urlencoded;charset=UTF-8', 
      success: function(result1) { 
       $('body').append(result1); 
       $(thesharelink).replaceWith(msg); 
      } 
     }); 
}); 

したがって、データがphpファイルに到着すると、データは失われます。エスケープを追加すると問題が解決されるようです。私は改善のための提案を歓迎しますが。

+0

本当ですか?その私のために働いて – safarov

+0

エラーを再現する例を提供してください。 – Gumbo

+1

使用しているPHPのバージョンは?また、実際のコードを投稿することはできますか? 'mysql_real_escape_string'がこれの原因です。 – pjumble

答えて

1

PDOに切り替えることをお勧めします。 (PHP PDO prepared statementsから借りた)使用例:

/* Execute a prepared statement by passing an array of values */ 
$sth = $dbh->prepare('SELECT name, colour, calories 
    FROM fruit 
    WHERE calories < ? AND colour = ?'); 

$sth->execute(array(150, 'red')); 

$red = $sth->fetchAll(); 
0

だから、それはないです&から

-charすべてを削除します。

どうすればこの問題を解決できますか?

&文字を除去するための本当の原因を探します。

関連する問題