WHERE | memo-memo Skip to content

memo-memo

web制作に便利そうな情報をメモるブログ

Archive

Tag: WHERE

やっと、解りやすく説明してあるサイトを発見。

http://www.feedsoft.net/access/sql/sql26.html

どうやら、WHEREで、複数の条件を指定したい時は、

WHERE name=”dog” and color=”black”

こんな漢字で、andで繋ぐらしい。

php


$hoge=”dog”;
$num=160;
//SQLの作成(ヒアドキュメント)
$sql = <<< SQL
SELECT *
FROM bmi
WHERE name=’$hoge’ and height=$num
SQL;


上記の様に、変数を使って指定する事も出来ました。

ただ、青線の部分は、若干注意。変数を展開するのに、「’」で括るのは、珍しい気もする。

この「’」の意味は、もともとnameに指定するべき文字列は、「’」で括る必要があるから、書いている。

つまり、「name=$hoge」だと、展開すると、「name=dog」になってしまう。「name=’dog’」にしたいから、name=’$hoge’と、「’」で括っている。

ちなみにこれは、ヒアドキュメント内の変数は展開されるルールによるもの。参考はこちら

以前、疑問が残っていた記事:http://blog.jokerstyle.org/archives/143

<?php

//SQLの作成(ヒアドキュメント)

$sql = <<< SQL
SELECT *
FROM abc
WHERE name=’dog’
SQL;

//SQLの実行
$dbs = “sqlite:{ここに、dbのパスを書く}”; //接続先
$user = “”;//ユーザー
$pass = “”;//パスワード
$dbh = new PDO($dbs,$user,$pass);//DBへの接続
$stmt = $dbh->query($sql);//SQLの実行
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);//データの取得
//結果をJSON形式で出力
print(json_encode($result));

?>

大体が、以前書いた、http://blog.jokerstyle.org/archives/58と一緒だが、赤字の、WHERE name=’dog’を追加する。この場合、nameの項目が、dogの物だけヒットする。

WHERE {項目名}={指定したいもの}

多分こんな感じ。明日、もっときちんと調べよう。

ちなみに、{指定したいもの}に、漢字を入れたら動かなかった。動いたのは、半角英数字のみ。ひらがな、カタカナは、調べてません。(多分無理でしょう。)

その辺も、明日調べよう。

追記 2009/8/18

フォローアップ記事はこちら。http://blog.jokerstyle.org/archives/145