0

私のコード:

function sendMessage($client, $owner, $topic, $message, $send, $alliance, $player, $coor, $report) {
            $time = time();
    $q = "INSERT INTO " . TB_PREFIX . "mdata values (0,$client,$owner,'$topic',\"$message\",0,0,$send,$time,0,0,$alliance,$player,$coor,$report)";
    return mysql_query($q, $this->connection);
}

メッセージを書くときは問題ありません。しかし、私がmysqlにこれを送信する場合->'これに変換->/'

'-> /'

それを解決するためのコードが必要です。助けてください。

4

2 に答える 2

0

他の人がコメントしたのと同様に、PDO を使用する必要がありますが、他の文字列型フィールドmysql_real_escape_stringを渡すときにのみ使用してください。varchar

$q = "INSERT INTO " . TB_PREFIX . "mdata values (0,$client,$owner,
    '" . mysql_real_escape_string($topic) . "',
    '" . mysql_real_escape_string($message) . "',
    0,0,$send,$time,0,0,$alliance,
    $player,$coor,$report)";
于 2013-01-12T16:23:06.903 に答える
0

これを試して

  function sendMessage($client, $owner, $topic, $message, $send, $alliance, $player, $coor, $report) {

   $client = mysql_real_escape_string($client);
    $owner = mysql_real_escape_string($owner);
    $topic = htmlentities($topic);
  $message = htmlentities($message);
     $send = mysql_real_escape_string($send);
 $alliance = mysql_real_escape_string($alliance);
   $player = mysql_real_escape_string($player);
     $coor = mysql_real_escape_string($coor);
   $report = mysql_real_escape_string($report);

        $time = time();

    $q = "INSERT INTO " . TB_PREFIX . "mdata values (0,'$client','$owner','$topic','$message',0,0,'$send','$time',0,0,'$alliance','$player','$coor','$report')";
   return mysql_query($q, $this->connection);
   }
于 2013-01-12T16:18:50.563 に答える