mysql:7899
From: Shinichi Nouzumi <Shinichi Nouzumi <nouzumi03@xxxxxxxxxx>>
Date: Sat, 14 Jun 2003 12:15:27 +0900
Subject: [mysql 07899] クォーテーションのある文字列の登録
はじめまして、MySQL を最近使い始めて間もないものです。
早速、質問させてください。
次のような件で頭を悩ませています。
環境は
PHP 4.3.2 + MySQL 4.0.13 + IIS 5.0です
$str = '能銀"'
$str = mysql_escape_string($str);
// (この文で $sql は、能\銀\" となる)
$sql = sprintf("UPDATE usertbl SET name = '%s'",$sql);
この sql 文を実行したところ MySQL には、
能銀\" と、\ 文字が付加されてしまいます。
また最初の $str を、
$str = '能 銀"';
とスペースを入れるとデータベースには正しく
能 銀" と、設定されます。
現状、何が問題か分からず、
とりあえずこちらのメーリングリストへ投稿させて頂きました。
my.ini の次の設定は行っています。
[mysqld]
default-character-set=sjis
php.ini のマルチバイトの設定は以下のようにしています。
magic_quotes_gpc = On
mbstring.language = Japanese
mbstring.encoding_translation = Off
mbstring.internal_encoding = SJIS
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
ご教授宜しくお願い致します。
-> 7899 2003-06-14 12:15 [Shinichi Nouzumi <no] クォーテーションのある文字列の登録 7903 2003-06-16 16:09 ┗[IWASAKI Dai <dai@xxx] 7905 2003-06-16 17:57 ┗[Shinichi Nouzumi <no] 7906 2003-06-16 18:12 ┗[IWASAKI Dai <dai@xxx] 7907 2003-06-16 18:32 ┗[Shinichi Nouzumi <no]