[PHP-users 26630] Re: PHPでMS SQLserver2000のテーブルにデータをかく方法
Shindo
shindo @ atsystem.jp
2005年 8月 26日 (金) 12:09:29 JST
進藤です。
>>これで、Parse error: parse error, unexpected '@' in ・・・on line 117 のエ
> ↑
>このエラーは、全角の空白が許されない場所に全角の空白があると出たりします。
>$sq の中に全角の空白は無いでしょうか?
>data1 の前後の空白は半角の空白ですか?
これだけだと、意味が解らないかも知れませんので少し補足します。
例えば
$sq = 'INSERT INTO abc VALUE (1, 2, 3)';
↑ここは全角の空白です。
と言う文字列をパーサーがパースした場合、この全角空白がSHIFT_JIS だったと
すると16進で表現すると
0x49 0x4E 0x53 0x45 0x52 0x54 0x40 0x81 0x49 0x4E 0x54 0x4F 0x20 ....
I N S E R T 全角空白 I N T O 半角空白
といったコード並びになります。
左から見ていくと全角空白の位置は 0x40 ですから ASCII では @ を
表す文字コードになります。その後にASCIIには存在しない 0x81 が現れるので
パースエラーが発生します。
パーサーは、理解できた最後の文字'@'をエラー文に含めて終了します。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
進藤寿則@アットシステム _/_/
e-mail shindo@atsystem.jp _/
PHP-users メーリングリストの案内