hrm_mmm の回答履歴

全740件中61~80件表示
  • 条件付DELEATE文について

    条件付のDELETEをするときのSQL文ができません。 同じデータのあるテーブル(別テーブル)から データを削除したいのですが、上手くできません。 DELETE tbl_A.* FROM tbl_A INNER JOIN tbl_B ON tbl_A.field01 = tbl_B.field01"; このように書いたのですが、全てのデータが削除されてしまいます。 tbl_Bとtbl_Aにある共通するデータのみをtbl_Aから削除したいのですがどのように書けばよいのでしょうか? よろしくお願いします。

  • PHP で動的ファイル出力

    PHP 猛勉強中です、またお世話になりますm( __ __ )m ドキュメントルート外に置いたイメージファイルを HP からリンクして表示できるように readfile 関数を使った PHP ファイルを作成しようと思っています。 readfile.php に対して URL クエリーでhttp://hoge/readfile.php?name=hage&ext=jpg のような感じで呼び出したいと思っています。 ※ name はファイル名、 ext は拡張子です。 [readfile.php] <?php $_name = ""; $_ext = ""; if(isset($_GET["name"]) === true && isset($_GET["ext"]) === true){ // null byte 対策 $_name = delete_nullbyte($_GET["name"]); $_ext = delete_nullbyte($_GET["ext"]); // ディレクトリトラバーサル対策 $_name = str_replace(".", "", @htmlspecialchars($_name, ENT_QUOTES, "UTF-8")); $_ext = str_replace(".", "", @htmlspecialchars($_ext, ENT_QUOTES, "UTF-8")); }else{ exit(); } $_file_path = "/home/xxx/img/" . $_name . "." . $_ext; // ファイル存在確認 if(file_exists($_file_path) === false){ exit(); } // MimeType 取得 $_ext_type = substr($_file_path, -3); $_mime_type = ""; if(strcasecmp($_ext_type, "jpg") === 0){ $_mime_type = "image/jpeg"; _out_file($_file_path, $_mime_type); }else{ exit(); } ///////////////////////////////////////////////// // ファイル出力 function _out_file($file_path, $mime_type) { // ファイル名取得 $_fname = @basename($file_path); // ファイルストリーム取得 header('Content-Type: ' . $mime_type); header("Content-Disposition: inline; filename='" . $_fname . "'"); readfile($file_path); } ///////////////////////////////////////////////// // null byte 除去メソッド function delete_nullbyte($str) { if(is_array($str) === true){ return ""; } return str_replace("\0", "", $str); } ?> 色々作業を進めるうちに「null byte 攻撃」や「ディレクトリトラバーサル攻撃」などの言葉が耳に入ってきてセキュリティ的に不安を感じています。 自分なりに調べて上記のようなコーディングをしましたが、果たして問題が無いのか、それとももっとたくさん考えなくてはならないのか、先輩方の意見が聞きたく質問させていただきました。 よろしくお願いしますm( __ __ )m

    • ベストアンサー
    • conecoxxx
    • PHP
    • 回答数2
  • ヌルバイト攻撃の対策について

    ヌルバイト攻撃の対策について教えて下さい。 一般的な"\0"を削除する方法なのですが、以下の場合ですと問題無ありません。が、 $arr = "abc\0def"; if (mb_strpos($arr, "\0")) { $arr = str_replace("\0", "", $arr); } echo $arr; ※結果:abcdef POST送信された値には、全く反応しません。 $arr = $_POST["arr"];//送信データは"abc\0def" if (mb_strpos($arr, "\0")) { $arr = str_replace("\0", "", $arr); } echo $arr; ※結果:abc\0def スクリプトコードはUTF-8で、magic_quotes_gpcはOffです。 他にどこをチェックすればよいかわからず投稿しました。 チェックすべきところを教えていただけないでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • warawara91
    • PHP
    • 回答数5
  • ファイルからのデータ更新について

    表題の件について質問させていただきます。 mysqlでカンマつきのCSVファイルからデータをテーブルにインポートする際、 load data infile 'ファイルディレクトリ情報' update table テーブル名 fields terminated by ','; でインポート可能かと思います。 では、このファイルをインポートしたあとに、CSVのデータを変更して同じコマンドを使用すると、レコードが追加され、「更新」にはなりません。 ファイルからのレコード更新はどのようにすれば宜しいでしょうか? 例として下記のDB定義、インポートファイルを使用しています。 データベース定義 bang(INT) name(VARCHAR(10)) ten (INT) インポートファイル変更前 1,山本,85 2,木村,58 3,山崎,95 インポートファイル変更後 1,山本,85 2,木村,58 3,今田,95      ←name変更 何卒よろしくお願いします。

  • Ajaxでの、任意の件数でページ送りをするには?

    <ul>で定義したリスト項目を、任意の件数で区切ってページ送りを実装しようと思っています。 <li>が50件くらいあって、それをn件ずつ実体を表示し、 1ページ目、2ページ目……とリンクを作ってページを切り替える。 表示件数nはユーザーには選ばせず、制作側がきめた件数で固定。 このような動作を実装するのに参考になるサイト、サンプルなど ありましたら、ご教示いただければと思います。 よろしくお願いします。

  • MySQL,PHPを使いデータとデータ件数を取得する関数

    よろしくお願いします。 このようなテーブルがあります。 テーブル名GAME id name    price  genre_id  comment 1 FF1    100  1  おもしろい 2 カービー 200 3 丸い赤 3 バイオ   250 2 怖い : : : : : テーブル名GENRE genre_id genre_name 1 RPG 2 ホラー 3 バイオ このようなテーブルがあるとして、 検索したいカラム(id,name,g_id,comment)に対して検索キーワードに部分一致をしたものデータからソートしたいカラムと昇順降順のようにソートしページ数から (ページ数-1)*10+1 ~ ページ数*10 最終ページのときは (ページ数-1)*10+1 ~ 最終ページ の部分のデータを取得する関数を作りたいです。表示するデータは id name genre_name です。 ページャーも使うので検索カラムにたいして検索ワードに部分一致した結果件数も戻り値として返したいです。 上記のsql文を教えてください。 またデータと結果件数を返す関数を作ることは可能でしょうか? 関数の引数は以下のように5つにするつもりです。 function getList($search_column,$search_word,$sort_column,$sort_order,$page_number) どうかご教授ください。

  • Ajaxでの、任意の件数でページ送りをするには?

    <ul>で定義したリスト項目を、任意の件数で区切ってページ送りを実装しようと思っています。 <li>が50件くらいあって、それをn件ずつ実体を表示し、 1ページ目、2ページ目……とリンクを作ってページを切り替える。 表示件数nはユーザーには選ばせず、制作側がきめた件数で固定。 このような動作を実装するのに参考になるサイト、サンプルなど ありましたら、ご教示いただければと思います。 よろしくお願いします。

  • 時間差を求める

    PHPを使いDB(MySQL)に格納されている登録時間から、 そのデータを呼び出した時との時間差を求めようとしています。 表題の内容として今の考えでは、 格納されているTIMESTAMP型の登録時間をDBから読み込んだ後、 PHP側でそれをstrtotime()でUNIXタイム(※1)にし、 time()から※1を差し引き、その後date()等で整形・・・ と考えているのですが、どうも効率が悪いような気がします。 例えば、MySQLでクエリを送信する際に、NOW()関数などと組み合わせて、 そのまま時間差をデータとして変数に代入させて返すということはできるでしょうか? 投稿内容の時間として、ユーザのログイン情報として、ランキング登録時間として、 「○秒前」「○分前」「○時間前」「○日以上」といった表示を見かけますが、 そういうことをしたいと思っています。 簡略化できるのならば、MySQLのクエリ内の処理でもPHP側での処理でも構いません。 宜しくお願いします。 ----------------- 環境  PHP 5.2.5  MySQL 5.1.22

    • ベストアンサー
    • atse
    • PHP
    • 回答数1
  • 'id'を無視して、外部ファイルを読み込むには?

    MySQLでデータベースを作成しています。テーブルを以下のように作成しました。 create table table_name (     id MEDIUMINT NOT NULL AUTO_INCREMENT,     aaa text,     bbb text,     ccc text,     PRIMARY KEY (id) ); そして、以下のようなファイル(/root/file)を読み込みます。(尚、ファイルはLinux上で作成しました。) [/root/file] a1,b1,c1 a2,b2,c2 a3,b3,c3 そして、データベース上で以下のようなコマンドを実行しました。 load data local infile '/root/file' into table table_name fields terminated by ',' lines terminated by '\n'; すると、以下のような結果が得られます。 +----+-----+-----+------+ | id | aaa | bbb | ccc | +----+-----+-----+------+ | a1 | b1 | c1 | NULL | | a2 | b2 | c2 | NULL | | a3 | b3 | c3 | NULL | +----+-----+-----+------+ 以下のようにテーブルを作り直すことなく、 create table table_name (     aaa text,     bbb text,     ccc text,     id MEDIUMINT NOT NULL AUTO_INCREMENT,     PRIMARY KEY (id) ); また、以下のようにファイルを書くことなく、 [/root/file] ,a1,b1,c1 ,a2,b2,c2 ,a3,b3,c3 以下のような結果を出すにはどのようにすればよいのでしょうか。(つまり、自動的に作成される'id'を無視するにはどうすればよいのでしょうか。) +----+-----+-----+-----+ | id | aaa | bbb | ccc | +----+-----+-----+-----+ | 1 | a1 | b1 | c1 | | 2 | a2 | b2 | c2 | | 3 | a3 | b3 | c3 | +----+-----+-----+-----+ よろしくお願い致します。

    • ベストアンサー
    • wataj
    • MySQL
    • 回答数2
  • switchの大量分岐の高速化

    いつもお世話になっております。 phpにて、文中にキーワードがあるかどうか判定し、そのキーワードによって処理を変えていくというプログラムを作成しています。 preg_matchまたはstrposによるキーワード判定と、switchによる処理を組み合わせたものです。 //判定対象となる文章 $text = "判定対象となる文章"; //判定キーワードの設定 $word1 = "/キーワード1|きーわーど1|keyword1/"; $word2 = "/キーワード2|きーわーど2|keyword2/"; . .(中略) . $word30 = "/キーワード30|きーわーど30|keyword30/"; //判定処理 switch (true) { case preg_match($word1, $text): echo "キーワード1に該当します" break; case preg_match($word2, $text): echo "キーワード2に該当します" break; . .(大量のcase) . case preg_match($word30, $text) && preg_match($word1, $text): echo "キーワード1かつキーワード30に該当します" break; }; ざっと書くとこのような構造になっています。 しかしキーワード分岐がかなり多岐に渡っている状態で、switch文の後半のcaseに該当する場合になってくると速度もかなり遅く感じます。 どうにかもう少し高速化したいなあと考えているのですが、何か良い方法はありますでしょうか? よろしくお願い致します。

    • ベストアンサー
    • rai28
    • PHP
    • 回答数3
  • 画像Typeコード 画像判別

    画像のアップロードで取得した画像のタイプコードに対しての拡張子を 教えて欲しいのですが・・・・。 参考になるサイトでも構いません。 list($width, $height, $type, $attr) = getimagesize("img/flag.jpg"); $type == 2 が.jpgだったと思ったのですが、その他の拡張子の 場合はどうすれば、判別できますでしょうか?

  • 各ページ、値の大きい順に3件ずつ、表示できるようにし、ページ分けしたい。

    PHP5、SQLite2.8の環境で作業をしています。 ■データ R:大きい順(1,2,3...) I:ID(1987~等) N:名前(りんご~等) R  I  N --------- 1 1987 りんご 2 1789 ごりら 3 1323 らっぱ --------- 4 1045 パイナップル 5 956 ルビー 6 448 ビー玉 --------- 7 311 マントヒヒ 8 259 ヒトデ 9 177 電池 --------- 10 123 ちくわ 11 101 わんこ 12 97 こども --------- 13 64 モモンガ 上記データを、3項目ずつ区切り(※「--------」が区切り線です)、 IDの大きなグループ順に、1ページ目、2ページ目、、、と、 ページ分けしたいのですが、この場合、 SQL文(特に、お分かりになるのであれば、SQLite)では、 どのようなロジックで書き表すことができますでしょうか。 以上、どなたか、よろしくお願い致します。 --------ここから下は、読んで頂かなくても結構です。---------- ちなみに、ID値が「飛び飛び」になっているのは、 ID値の途中の値を適宜削除(DELETE文)していたりするからです。 ID値が飛び飛びではない場合の方法であれば私にも作ることができ、 また、その方法で実際に作って動かしていたのですが、 その後、スクリプトに削除処理機能(DELETE文使用)を加えたところ、 前述の通り、ID値が飛び飛びとなり、 その結果、スクリプトが思わぬ動きをするようになってしまったので、 このような質問をさせて頂きました。 -------------------------------------------------

    • ベストアンサー
    • march4
    • PHP
    • 回答数3
  • Canvas等の図形を移動する時,直前のその図形のみを削除する方法

    Canvas等で描画された図形を十字キー操作で移動する時,プログラムの処理(負担)を減らすために,Canvas等に描かれている全図形を再描画するのではなく,移動するその図形"だけ"を再描画しつつ,移動させたいのです. そのためには,どのような事をしなければならないのでしょうか? アドバイスを宜しくお願いします. 例: Canvas上のある所に○を描くとします.これをキーボードの↑↓←→キーに合わせて,移動させたいのです. しかし,私のプログラムでは,上記のプログラムは大体出来ているのですが,以下の不満があります. Canvas上には,上記の○以外にも,△や□等が散らばって描画されていますので,○の移動毎に,Canvas上の全図形を再描画しています。これで,Canvas上で変更点がない図形も再描画され,処理的に無駄を感じていますので,○だけについて,移動を表現する描画をしつつ,移動前の○図形を削除したいのです. また,GraphicsのclearRect(x,y,width,height)メソッドで,移動直前の○を消せばよいと思ったのですが,これを使用した場合,図形○に図形△が少しでも重なっていた場合,○だけでなく△の図形も一部消されてしまい上手くいきません. ○をCanvas上に描いたGraphicsインスタンスを記憶しておく事は出来るのでしょうか? 出来るのであれば,そのインスタンスから自分が描画した図形○を消す事で,○だけを削除できる...かな....と思っています.... 上記の私の要望が満たされるのであれば,CanvasやGraphicsの範囲外の手法で全くかまいませんので,是非アドバイスを宜しくお願いします。 参考URLもご提示いただければ,なお有難いです.

  • SSIでの更新日表示に条件をつける

    こんにちは。 SSIを利用し、トップページに他ページの更新日を表示させていますが、 <!--#config timefmt=”%y/%m/%d(%a)”--> <!--#flastmod file=”任意ページ”--> これに、「1週間以内」の場合だけ表示させるようにしたいのですが、 ご教示しただけないでしょうか?

  • ローカルでのonreadystatechangeの動作について

    現在下記のようなコードを書いて、HTMLを読み込む処理を行おうとしています。 function LoadHtml(id , uri) { if(!XmlsReq)return; XmlsReq.open('GET',uri); XmlsReq.send(null); XmlsReq.onreadystatechange=function(){ alert("piyo"); if(XmlsReq.status==0 || XmlsReq.readyState==4 && XmlsReq.status==200) { alert("hoge"); document.getElementById(id).innerHTML=XmlsReq.responseText; } } document.getElementById(id).innerHTML=XmlsReq.responseText; } これはHTTPサーバ上で動かすとちゃんと動作し、 またHTTPステータスコードが0になるローカルでもfirefoxなら動くのですが、 IE7で試してみたところ、動作しません。 原因を探してみたところ、XmlsReq.send(null);までは実行されておりalert("piyo")が表示されないことから、 どうもonreadystatechangeイベントが検出されていないような動きをしています。 ローカルのIE7環境でちゃんと動作させるにはどうしたら良いか、分かる方居ましたら教えて下さい。

    • ベストアンサー
    • ruu4869
    • AJAX
    • 回答数4
  • phpmyadminで左ペインのメニューが表示されません。。。

    CentOS5.3にphpmyadminをインストールしたのですが、ログインすると左ペインが表示されません。同じ状況で解決されたか方がいらっしゃいましたらご回答宜しくお願いいたします。 環境は、 OS:CentSO5.3 WEBServer:Apache 2.2.11(ソースからコンパイルしてインストール) PHP:5.3.0(ソースからコンパイルしてインストール) MySQL:5.1.36(srpmからリビルドしてインストール) phpmyadmin:3.2.0.1-all-languages(解凍してそのままコピー) です。 ログインは正常にできます。また、エラーメッセージも特にありません。 しかし、右フレームは正常に表示されるのですが、左フレーム(メニューとか)が表示されません。真っ白です。 phpファイルのパーミッションを777とかにしてもダメでした。。。 どなたか同じ状況で解決された方がいらっしゃいましたらご回答宜しくお願いいたします。

  • (phpMyadminの)インデックスサイズの一意な値の数

    初心者です。 教えて頂けますか? 一つのフィールドにユニークのインデックスを付けたのですが (phpMyadminの)インデックスサイズの一意な値の数とありますが、 何を指すのでしょう?一意(ユニーク)の意味は分かるのですがいまいち意味が分かりません。 何の事でしょう? よろしくおねがいします。

  • phpmyadminで左ペインのメニューが表示されません。。。

    CentOS5.3にphpmyadminをインストールしたのですが、ログインすると左ペインが表示されません。同じ状況で解決されたか方がいらっしゃいましたらご回答宜しくお願いいたします。 環境は、 OS:CentSO5.3 WEBServer:Apache 2.2.11(ソースからコンパイルしてインストール) PHP:5.3.0(ソースからコンパイルしてインストール) MySQL:5.1.36(srpmからリビルドしてインストール) phpmyadmin:3.2.0.1-all-languages(解凍してそのままコピー) です。 ログインは正常にできます。また、エラーメッセージも特にありません。 しかし、右フレームは正常に表示されるのですが、左フレーム(メニューとか)が表示されません。真っ白です。 phpファイルのパーミッションを777とかにしてもダメでした。。。 どなたか同じ状況で解決された方がいらっしゃいましたらご回答宜しくお願いいたします。

  • unix timeの取り扱い

    とあるテーブルにおいて、datetime型にて登録されている日付データを 別のテーブルに入れたいのですが 登録先のテーブルでは、int(11)型のunix timeで日付データを格納しています。 データ件数が多いため、perl等を介すと時間が掛かるため SQLだけで変換を行いたいのですが いい方法はないでしょうか。

    • ベストアンサー
    • ks_rx
    • MySQL
    • 回答数1
  • JVMとはどのようなものですか

    こんにちは、JVMとはどのようなものでしょうか。 JavaがどのOSでも動くのは、JVMの上で動くからと本には書かれていますが、 どのようなものかよく理解出来ません。 これは、JDKとかをOSにインストールした時に、自動的にインストールされるものでしょうか。 それとも、ソースファイルをコンパイルした時に自動的に作られるものでしょうか。 また、このJVMは何故どのOSにも対応出来るのでしょうか。 以上宜しくお願いします。

    • ベストアンサー
    • htgo
    • Java
    • 回答数9