[前][次][番号順一覧][スレッド一覧]

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]