すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

PHP、初心者です。PHPとDBで分からないところがあります、教えて頂けると幸いです。全部のソースをOSDNというサイトにコピペしました。https://osdn.net/users/nannpure/pastebin/4232


PHPでSQLに渡すデータを指定したら、それと同じデータが取れるというのをやっています。


$params = array('神奈川県' , '千葉県');

$sql = " SELECT * FROM master_zipcode " ;

//パラメータの数に応じてプレースホルダを用意する
$ph = $conn->trimPlaceholder($params);

if($ph != ''){
//ベースのSQLに条件文を結合
$sql .= ' WHERE pref IN ( ' . $ph . ') ';
}

↑だったら、神奈川県と千葉県のデータがとれるようになっています。

今、変数paramsに$params = array('神奈川県' , '大島' ); こう入れて、その後の条件式で神奈川県で~市~区大島で終わっているのがとれるのか試していますが、何が間違っているのかうまくデータが取れません。INで複数取れるのは調べているのですが、

// $sql .= ' WHERE pref IN ( ' . $ph . ') AND strret IN ( ' .$ph . ') ' ;
// $sql .= ' WHERE pref , street IN ( ' . $ph . ' ) ' ;
// $sql .= ' WHERE pref AND street IN ( ' . $ph . ') ';
// $sql .= ' WHERE pref OR street IN ( ' . $ph . ') ';
// $sql .= ' WHERE pref IN ( ' . $ph . ' ) AND street IN ( ' . $ph . ' ) ' ;
// $sql .= ' WHERE pref IN ( ' . $ph . ' ) OR street IN ( ' . $ph . ' ) ';
// $sql .= ' WHERE (pref , street) IN ( ( ' . $ph . ' ) , ( ' . $ph . ' ) ';
// $sql .= ' WHERE pref + street IN ( ' . $ph . ' ) ';
// $sql .= ' WHERE (pref , street) IN ( ' . $ph . ' ) ';
// $sql .= ' WHERE ? IN ( ' . $ph . ' ) ';
// $sql .= ' as master_zipcode2 INNER JOIN master_zipcode as master_zipcode3 ON master_zipcode2.zipcode = master_zipcode3.ziocode WHERE master_zipcode2.pref IN ( '. $ph . ' ) AND master_zipcode3.street IN ( ' . $ph . ' ) ' ;

↑どうにもうまくいきません。何が間違っているのかや、ここはこうしたらいい、また初心者にも分かりやすい参考サイト等があれば教えて頂けると幸いです。よろしくお願いいたします。

  • 質問者:tty
  • 質問日時:2016-10-20 22:06:35
  • 0
ソーシャルブックマークに登録する:

とくネタ総合ランキング

すべてを見る

トクネタを投稿する

Sooda!からのお知らせ

一覧を見る