どもです。
textareaやinputで自由入力できるようにすると、クォーテーションや特定のhtmlタグを入れたときに、処理や表示がバグったり、クロスサイトスクリプティングの被害に遭ったりします。
回避のための処理をいちいち調べるのも面倒なので、備忘的にまとめておくことにします。
PHP←→MySQL
//PHP→MySQL
//文字列をMySQL用にエスケープ
mysqli_real_escape_string($mysqli_connect, $string);
//PHP5以下
mysql_real_escape_string($string);
//text型の場合、バイト超過分は切り捨てずエラーになるので
mb_strcut(mysql_real_escape_string($string, 0, 65535, 'UTF-8');
//MySQL→PHP
//エスケープした文字列を戻す これをやらないと一部のクォーテーションがエスケープされたままになる
stripslashes($string);
PHP→HTML
//タグ等を含んだ文字列をtextarea(input)用にエスケープ
htmlspecialchars($stripslashes_string);
//htmlspecialchars(stripslashes($string));
//textareaで入力した文字列を入力欄外に出力(エスケープ後に改行コードを改行タグに変換)
nl2br(htmlspecialchars($stripslashes_string));
//nl2br(htmlspecialchars(stripslashes($string));