Php 将数据从textarea保存到数据库

Php 将数据从textarea保存到数据库,php,html,mysql,textarea,Php,Html,Mysql,Textarea,我是PHP的新手。我只是想知道为什么每次我从textarea保存字符串数据时,它总是在数据库中插入字符串格式。这是我的代码: <table> <tr> <td> <textarea name="event_desc" cols="40" rows="10" id="event_desc"></textarea> </td> </tr> <tr> <

我是PHP的新手。我只是想知道为什么每次我从textarea保存字符串数据时,它总是在数据库中插入
字符串
格式。这是我的代码:

 <table>
  <tr>
   <td>  
    <textarea name="event_desc" cols="40" rows="10" id="event_desc"></textarea>
    </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="Add" id="Add" value="Add event" /></td>
  </tr>
 </table>
我已经使用mysql\u real\u escape\u字符串、addslashes和stripslashes

这是我保存到数据库中的代码:

 <?php 
 if(isset($_REQUEST['Add']))
 { 
  $event_title=$_POST['event_title'];                                                                         $event_desc=mysql_real_escape_string($_POST['event_desc']);
  $section=$_POST['section'];
  $get_date=NOW;
  if($event_title=="" || $event_desc=="")
  {
    echo'<div class="warning">Some of the fields are empty.</div>';
  }
  else
  {
    mysql_query("INSERT INTO events (`event_title`, `event_desc`,`event_date`,`event_target`) VALUE('$event_title','$event_desc','$get_date','$section')") or die(mysql_error('Error: Error in adding entries'));
    echo'<div class="success">You have just added 1 event for School. You will be redirect in  5 seconds</div>';
    echo "<META HTTP-EQUIV='Refresh' CONTENT='5; URL=events.php'>";
  }
 }
 ?>

我的建议是使用mysqli::real\u escape\u string

单击

将html编码文本保存到数据库中。在页面中查看时对标点符号进行编码。因此,你必须以某种方式解码它们。我不是PHP爱好者,但我知道这是你的问题。

你可以在存储到数据库时使用
addslashes()
,如果它是编码的,则可以使用retrive
htmlspecialchars\u decode

 <?php
$str = "<p>this -&gt; &quot;</p>\n";

echo htmlspecialchars_decode($str);

// note that here the quotes aren't converted
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>

除了上面提到的传统方法之外

我们可以使用“base64_encode”对来自文本区域的字符串进行编码,然后将其存储在db中…同时使用“base64_decode”函数从db中检索并将其解码回来

注意:-根据文档,它占用的空间增加了33%


Ref:-

您连接db的方式是什么?您使用的是mysql、mysqli还是pdo?我使用的是mysql Sir@Kiyarash
 <?php
$str = "<p>this -&gt; &quot;</p>\n";

echo htmlspecialchars_decode($str);

// note that here the quotes aren't converted
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>
<p>this -> "</p>
<p>this -> &quot;</p>