私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 86
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
よくわからんが、寝ぼけて文中に変数名入れちゃわないように
スタティックな文字列はシングルクォートにするようにしてる。
スタティックな文字列はシングルクォートにするようにしてる。
ifとcaseと三項演算子の中からいちばん可読性の高いものを自然に選べるのがよいプログラマ?
ifとcaseと三項演算子の中からいちばん処理速度の速いものを自然に選べるのがよいプログラマ?
ifとcaseと三項演算子の中からいちばん処理速度の速いものを自然に選べるのがよいプログラマ?
そのレベルなら可読性でしょ。
数100万単位のデータ処理なら、設計の自由度と判りやすさで
RMDBSを選ぶか、またはシーケンシャルアクセスを使って独自
の高速データ処理ができる方法を選ぶかって考えなきゃいけないけど。
数100万単位のデータ処理なら、設計の自由度と判りやすさで
RMDBSを選ぶか、またはシーケンシャルアクセスを使って独自
の高速データ処理ができる方法を選ぶかって考えなきゃいけないけど。
>>106
>RMDBS
>RMDBS
>>109
いいじゃないかよぉ、Typoくらいよぉ(><)
いいじゃないかよぉ、Typoくらいよぉ(><)
>>110
間違ったんだろ?知識なんてカケラも無いんだろ?素直になれよ?
間違ったんだろ?知識なんてカケラも無いんだろ?素直になれよ?
質問です。
http://www.livein-tokyo.com/search3.php
で"市町村id={$val}" の一致したデータを出す場合
$query = "select * from 物件表 where";
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 市町村id={$val}";
データを出すsql文
continue;
}
$query .= " or 市町村id={$val}";
}
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 1) {
$query .= " 市町村id={$val}";
データを出すsql文
continue;
}
$query .= " or 市町村id={$val}";
}
でOK?
http://www.livein-tokyo.com/search3.php
で"市町村id={$val}" の一致したデータを出す場合
$query = "select * from 物件表 where";
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 市町村id={$val}";
データを出すsql文
continue;
}
$query .= " or 市町村id={$val}";
}
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 1) {
$query .= " 市町村id={$val}";
データを出すsql文
continue;
}
$query .= " or 市町村id={$val}";
}
でOK?
>>118
環境作って実際に動作させてみた?
・上のforeachと下のforeachはそれぞれ何がしたいの?
・foreach内の$keyが0か1かで判断していいの?
・$_POST['town_cd']が無い場合(全件取得の場合?)に
$queryは "select * from 物件表 where"になるけどそのまま実行したらエラーになるよね?
環境作って実際に動作させてみた?
・上のforeachと下のforeachはそれぞれ何がしたいの?
・foreach内の$keyが0か1かで判断していいの?
・$_POST['town_cd']が無い場合(全件取得の場合?)に
$queryは "select * from 物件表 where"になるけどそのまま実行したらエラーになるよね?
>>116
手出すのは早すぎなんじゃない?もっとちゃんと基礎から勉強してきたほうがいいよ。
$query = "select * from 物件表 where";
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 市町村id={$val}";
continue;
}
$query .= " or 市町村id={$val}";
}
この時点で$queryはOR検索で全てのデータを問い合わせる文になってるんだからこれ以上の処理はいらない。
あとはこのクエリを投げて返ってきた結果(オブジェクト・配列・ハッシュ等)を元にHTMLを仕上げればいいだけ。
手出すのは早すぎなんじゃない?もっとちゃんと基礎から勉強してきたほうがいいよ。
$query = "select * from 物件表 where";
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 市町村id={$val}";
continue;
}
$query .= " or 市町村id={$val}";
}
この時点で$queryはOR検索で全てのデータを問い合わせる文になってるんだからこれ以上の処理はいらない。
あとはこのクエリを投げて返ってきた結果(オブジェクト・配列・ハッシュ等)を元にHTMLを仕上げればいいだけ。
$keyってもしかしてwhereの直後の条件(orがいらない)かどうかの判断で使ってる?
それなら、ベースとなるSQLを「select * from 物件表 where 1」と「where 1」とするのが定石。
これなら$_POST['town_cd'] が空(全件の場合)もエラーにならない。
つまりこんな感じか
$query = "select * from 物件表 where 1";
foreach ($_POST['town_cd'] as $key => $val) {
$query .= " or 市町村id={$val}";
}
それなら、ベースとなるSQLを「select * from 物件表 where 1」と「where 1」とするのが定石。
これなら$_POST['town_cd'] が空(全件の場合)もエラーにならない。
つまりこんな感じか
$query = "select * from 物件表 where 1";
foreach ($_POST['town_cd'] as $key => $val) {
$query .= " or 市町村id={$val}";
}
>>122
俺に言ってる?
SQLExceptionはでないと思うよ「select * from 物件表 where 1」を実行すればわかる
上の書き方だと、$_POST['town_cd']が空だったらforeachでWarningはでるけど。
俺に言ってる?
SQLExceptionはでないと思うよ「select * from 物件表 where 1」を実行すればわかる
上の書き方だと、$_POST['town_cd']が空だったらforeachでWarningはでるけど。
ああ・・・Javaと混ざってた。スルーしてちょうだい。
いちいち全件出すような仕様にはしないんじゃない?
転送量的にも負荷的に考えて
もし出すにしても人気のものとか売り出したいものとか数件出す程度にする
規模のおおきくなる商用サイトとかだとそういうかんじだとおもうけど
動画サイトとかは典型例
全件なら全件チェックを別途いれるんじゃないかな
転送量的にも負荷的に考えて
もし出すにしても人気のものとか売り出したいものとか数件出す程度にする
規模のおおきくなる商用サイトとかだとそういうかんじだとおもうけど
動画サイトとかは典型例
全件なら全件チェックを別途いれるんじゃないかな
>>116,120,121
SQL Injection も指摘しておく
SQL Injection も指摘しておく
>>130
そこまで言い出すと余計混乱すると思うw
そこまで言い出すと余計混乱すると思うw
かもしれないが,実システムでは避けては通れない道なんだから
オミットできるものではない
オミットできるものではない
まぁSQLインジェクションなんざXSSと同じで関数1つでどうにかなる問題だけどな
$_POST['town_cd'][0] = " '; DELETE '物件表";
こんなデータが入ってきたらどうするんだろう
こんなデータが入ってきたらどうするんだろう
くだ質でもそこまで考慮した回答を提示しろって事か。
ただ、要点しぼらないと余計わからなくなるかもしれないし。
悩み所だな。
ただ、要点しぼらないと余計わからなくなるかもしれないし。
悩み所だな。
PHPにはmysql_real_escape_stringとかデータベース用のエスケープ関数んだから。
インジェクションの被害は1億円超える事例もあるし(ttp://internet.watch.impress.co.jp/cda/news/2006/11/29/14076.html )
実際にネットに公開するような使い方だしさ
インジェクションの被害は1億円超える事例もあるし(ttp://internet.watch.impress.co.jp/cda/news/2006/11/29/14076.html )
実際にネットに公開するような使い方だしさ
>>137
kwsk
kwsk
>>139
付けないとどうなんの?
付けないとどうなんの?
function escape($str){
return stripslashes(htmlspecialchars($str,ENT_QUOTES));
}
$_GET = array_map("escape", $_GET);
1つずつエスケープするのは面倒なので俺ならこうするな
return stripslashes(htmlspecialchars($str,ENT_QUOTES));
}
$_GET = array_map("escape", $_GET);
1つずつエスケープするのは面倒なので俺ならこうするな
>>141
kwsk
kwsk
無条件でstripslashes、$_GET上書きに違和感を感じるが・・・
>>145
出力時のうっかりミスを考えるなら、その関数を入れ忘れるのも考慮しないといけないんじゃ?
そしてそのリスクって変わらないと思うんだけど。
スクリプト内の色々な箇所でecho出力してるわけじゃないでしょ?
>>145
出力時のうっかりミスを考えるなら、その関数を入れ忘れるのも考慮しないといけないんじゃ?
そしてそのリスクって変わらないと思うんだけど。
スクリプト内の色々な箇所でecho出力してるわけじゃないでしょ?
入力時にエスケープするのは意味あいが変わるじゃん
エスケープした時点で受け取った入力内容と異なるデータになっちゃう
セキュリティを考慮しても違和感のあるプログラミングは避けたほうがいいと思う
入力時にエスケープは個人的にはないわー
エスケープした時点で受け取った入力内容と異なるデータになっちゃう
セキュリティを考慮しても違和感のあるプログラミングは避けたほうがいいと思う
入力時にエスケープは個人的にはないわー
みんなの評価 :
類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 80 (1001) - [98%] - 2009/2/18 6:30 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 85 (1001) - [98%] - 2009/7/31 4:07 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 96 (1001) - [98%] - 2010/7/22 7:47
- 【PHP】下らねぇ質問はID出して書き込みやがれ 76 (1001) - [98%] - 2008/12/6 22:36 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 82 (1001) - [98%] - 2009/4/6 19:33
- 【PHP】下らねぇ質問はID出して書き込みやがれ 83 (1001) - [98%] - 2009/4/27 3:17 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 84 (1001) - [98%] - 2009/6/15 21:04 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 81 (1001) - [98%] - 2009/3/7 14:17 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 89 (1001) - [98%] - 2009/11/13 23:03
- 【PHP】下らねぇ質問はID出して書き込みやがれ 88 (1001) - [98%] - 2009/10/12 1:52
- 【PHP】下らねぇ質問はID出して書き込みやがれ 87 (1001) - [98%] - 2009/9/15 18:32
- 【PHP】下らねぇ質問はID出して書き込みやがれ 126 (1001) - [96%] - 2013/3/19 13:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 116 (1001) - [96%] - 2012/3/21 18:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 106 (1001) - [96%] - 2011/6/3 5:17
- 【PHP】下らねぇ質問はID出して書き込みやがれ 136 (936) - [96%] - 2014/9/18 12:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 97 (1001) - [96%] - 2010/9/18 2:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 94 (1001) - [96%] - 2010/4/20 19:31
トップメニューへ / →のくす牧場書庫について