- ベストアンサー
MySqlに、\'の2つを含む文字を登録できません
PHP5.2 MySql5.1.34 文字コードSJIS \' の2つを含む文字を登録できません。 /".!% は登録できます。 <?php if(!$_POST['mes']){ print <<< html ブログ記事を投稿 <form action="$PHP_SELF" method="post"> <table border="1"> <tr> <td>日付</td> <td> <textarea rows="3" cols="20" name="created_at"></textarea> </td> </tr> <tr> <td>タイトル</td> <td> <textarea rows="3" cols="40" name="mes"></textarea> </td> </tr> <tr> <td>URL</td> <td> <textarea rows="3" cols="60" name="url"></textarea> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="書き込む"> </td> </tr> </table> </form> html; }else{ $dbcon = mysql_connect("サーバ","ユーザ名","パスワード"); mysql_set_charset("sjis",$dbcon); mysql_select_db("データベース名"); $today = date("Y/m/d H:i:s"); $created_at = str_replace("\r\n", "", $_POST['created_at']); $mes = str_replace("\r\n", "", $_POST['mes']); $url = str_replace("\r\n", "", $_POST['url']); $sql_mes = "insert into message(updated_at,created_at,mes,url) values('" . $today . "','" . $created_at . "','" . $mes . "','" . $url . "')"; $result_mes = mysql_query($sql_mes); mysql_close($dbcon); print "記事の投稿が完了しました。<br>"; } ?>
- みんなの回答 (1)
- 専門家の回答
お礼
naktak様 回答をありがとうございます。 mysql_real_escape_string を使い解決できました。