• 締切済み

SELECT文でMySQLから取得したデータの使用

PHP初心者なのでお手間を取らせてしまい申し訳ありませんがご教授お願いします。 select~ でMysqlより取得したデータをそのままMysqlで検索掛けたいので 下記のようにしてみたのですが機能しません "select * from address where addr_id like $row[addr]"; 多分色々と間違えてるのかも知れませんがよろしくお願いいたします。

みんなの回答

  • ma2shin
  • ベストアンサー率41% (69/167)
回答No.2

こんなかんじでいかがでしょうか? "select*from address where addr_id like '%".$row["addr"]."%'"; 上記は、$row["addr"]を含むという条件で検索します。 Mysql入門以前という本がおすすめです。これ1冊でMysql+PHPはOKです。間違っていたらすいまそん。

Litz0120
質問者

お礼

無事に出来る様になりました。 ありがとうございました。 MySQLの本は探してみます

回答No.1

>機能しません 具体的には、どうやった場合、どうなるのですか? SQLの基本的な話ですが、LIKE条件を使う場合は、「列名 LIKE 'パターン文字列'」のように、「'」(アポストロフィ)で囲む必要があります。(MySQLの場合は、「"」(ダブルクォーテーションでもよい) LIKEのパターン文字列は、'ABC%'など前方一致等を指定できますが、検索結果をそのまま条件指定しているということは、「列名='xxx'」と「=」条件にできるのでは? MySQLのバージョンは、何でしょうか? MySQL 4.1以降なら、副問い合わせ(サブクエリ)を使えます。副問い合わせを使えば、検索結果を一旦、アプリケーション側で受け取ってSQLを再発行するのでなく、一度に処理できます。 結果が1行以下なら、 select * from address where addr_id=(select 列名 from 表名 where 条件) 結果が2行以上になる可能性があるなた、 select * from address where addr_id in(select 列名 from 表名 where 条件) などの指定ができます。

Litz0120
質問者

お礼

無事に出来る様になりました。 ありがとうございました。