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

UNO Shintaro php-users@php.gr.jp
Thu, 20 Feb 2003 00:11:54 +0900


>  $sql="SELECT item_name FROM m_item WHERE item_code = $id";
>echo $sql; <----ここで、PrintDebugした

><----の箇所でPrintDebugしましたら、
>SELECT item_name FROM m_item WHERE item_code = 002-006 
>と、出てくるのですが、、
>
> (MySQLのコマンドからは、正常なことを確認しております。)

正常であることを「確認」したときに使ったSQL文と、
PHPが表示しているSQL文は、本当に同じですか?
少なくとも、その表示されているSQL文は変なように思えます。

SELECT item_name FROM m_item WHERE item_code = 002-006 
ではなくて、
SELECT item_name FROM m_item WHERE item_code = '002-006'

のように、SQL文内でitem_codeと比較する値がシングルクォートで
囲われていないとまずいのでは。つまり、プログラムの方で、

  $sql="SELECT item_name FROM m_item WHERE item_code = '$id'";

と、$idの前後にシングルクォートを入れて書くということです。

-- 
UNO Shintaro, 宇野 信太郎
mailto:uno@venus.dti.ne.jp
http://www.venus.dti.ne.jp/~uno/