[PHP-users 13447] Re: SQL文が発行できない

Happy Island php-users@php.gr.jp
Wed, 19 Feb 2003 12:50:30 -0800


福島です。

取扱データ型によって使い分ける必要があると記憶しています。
自分の場合、TEXTやchar、varcharなどはシングルクォートで囲みます。
また、場合によっては文字列の中にシングルクォートがある場合、エスケープしなけ
ればいけなかったりもします。
INT型やBoolean等、あるいは関数などを使用した場合、シングルクォートで囲むとエ
ラーとなることがあります。
いずれにしても、PHPの問題というより使用しているデータベースの問題ですね。

ご参考になれば幸いです。

----- Original Message -----
From: "Kondo Tatsuya" <konet@zc.wakwak.com>
To: <php-users@php.gr.jp>
Sent: Wednesday, February 19, 2003 12:08 PM
Subject: [PHP-users 13446] Re: SQL文が発行できない


> 近藤@千葉です。
>
> 便乗して質問があります。
>
> >   $sql="SELECT item_name FROM m_item WHERE item_code = '$id'"
>
> 仮に、item_code が、INT型で、数値のみの場合、文字列の検索ではない為、
> $idをシングルクォートで囲まないで良いと言う考えは有りでしょうか?なしで
しょうか?
>
> 私は、文字列だけシングルクォートで囲み、数値はシングルクォートで囲んでませ
ん。
>
> # どこかのサイトで、「数値はシングルクォートで囲わない」と
> # 見た覚えがありますが定かではないです…。
>
> UNO Shintaroさんが、
> > SQL文内でitem_codeと比較する値がシングルクォートで
> > 囲われていないとまずいのでは。
>
> と、書かれていたので、比較する値は、数値であろうと文字列であろうと
> 全てシングルクォートで囲ってあげないといけないのかな?と思いました。
>
> よろしくお願いいたします。
>
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>