xKENxのプロフィール

@xKENx xKENx
ありがとう数37
質問数7
回答数45
ベストアンサー数
21
ベストアンサー率
65%
お礼率
71%

  • 登録日2005/10/19
  • プリペアードステートメントの最終的なSQL文の確認

    プリペアードステートメントでSQLを実行しております。 プリペアードステートメントで最終的に実行されたSQL文を確認する方法はないでしょうか。 <実行SQL> $sql = "SELECT * FROM member where user = :username and password = :password and delflag ='0'"; $stmt = $this->db->prepare($sql); $flag = $stmt->execute(array(':username' => $user,':password' => $pass)); $passには、ユーザーから入力されたパスワード情報 $userには、ユーザーから入力されたユーザー名が入っております。 executeで実行された、$userの内容と$passwordの内容が埋め込まれ実行された 最終的な$SQL文を確認したいと思っています。 どのようにすれば確認できるものなのでしょうか。 ご教授よろしくお願いします。

    • ベストアンサー
    • PHP
  • 次のデータ抽出を(高速に)行うSQLを教えてくださ

    自分がフォローしている人のつぶやきと、じぶんの呟きを含めて、日付順で表示するSQLを検討しています。 MYSQLの構文がかなり複雑になってしまったために、 もっと簡単に高速にSQLで記述する方法がありましたら教えて頂けませんでしょうか。 長文になり申し訳ございませんが、アドバイスいただけると幸いです。 テーブルは以下の3種類です。 ●cutomer:登録者名を記録 <構造> id(auto increment,key),name(名前) <サンプルデータ> 0,"太郎" 1,"次郎" 2,"三郎" 3,"四郎" ●follow:誰が(my_user_id)、誰をフォローしているか(target_user_id)を記録 <構造> id(auto increment,key),my_user_id,target_user_id <サンプルデータ> 0,1,0 0,1,2 ●tweet:つぶやきを記録 <構造> id(auto increment,key),user_id,tweet_comment(つぶやき),date(つぶやき日時) <サンプルデータ> 0,1,"次郎のつぶやきです","2011-01-01 00:00:00" 1,2,"三郎のつぶやきです","2011-02-01 00:00:00" 2,0,"太郎のつぶやきです","2011-03-01 00:00:00" 3,1,"次郎のつぶやきです","2011-04-01 00:00:00" 4,3,"四郎のつぶやきです","2011-05-01 00:00:00" 上記のサンプルデータを用いて、期待する出力結果をご説明します。 例として、入力値を「次郎」とすると、 「次郎」のつぶやきと、次郎がフォローしている太郎と三郎の呟きを表示したいです。 "次郎","次郎のつぶやきです","2011-01-01 00:00:00" "三郎","三郎のつぶやきです","2011-02-01 00:00:00" "太郎","太郎のつぶやきです","2011-03-01 00:00:00" "次郎","次郎のつぶやきです","2011-04-01 00:00:00" 現状は、次郎とつぶやきselectと、次郎がフォローする太郎と三郎のつぶやきselectを unionで結合する形式なっており、もうちょっと賢くできないものかと悩んでいます。 なお、対象の次郎のuser_id(サンプルでは"1")は予めわかっているものとします。 ( select customer.name,tweet.tweet_comment,tweet.date from customer,tweet where customer.id = 1 and customer.id = tweet.user_id ) union ( select customer.name,tweet.tweet_comment,tweet.date from customer,tweet,follow where follow.my_user_id = 1 and follow.target_user_id = tweet.user_id and tweet.user_id = customer.id ) order by table_tweet.date asc

    • ベストアンサー
    • MySQL
    • mmei
    • 回答数3
  • phpのセッションについて質問です。

    今、for文を使ってsession変数に値を入れて行く処理を作っております。そのためにセッション配列を使おうと考えておりますが、使い方が分からないので教えてください。一応、自分なりに書いてみたのですが動きませんでした。処理的には、一つ目のfor文で値をsessionの配列に一つずつ入れていき、二つ目のfor文でその格納したのを表示するようにしたいです。 <?php session_start(); for($a=1;$a<10;$a++){ $_SESSION['no'][$a]=$a; } for($b=1;$b<10;$b++){ print("こんにちわ".$SESSION['no'][$b]); } ?> ご回答のほどをよろしくお願いします。

    • ベストアンサー
    • PHP
  • PostgreSQL サーバーへの接続設定

    表題の件につきまして、質問致します。 現在、AmazonEC2にてウェブアプリケーションの開発をしています。 ウェブサーバーからローカル接続にて、DBサーバーを建てましたがウェブサーバーからの 接続ができません。 postgresql.conf 及びpg_hba.confの設定を行ったのですが・・・・ 他の確認箇所として、Firewallや、AmazonEC2独特の固定IPがローカルIPと兼用されてるようなところでも確認が必要かと思いますが、その確認方法が知識不足の為、ありません。 情報をお持ちでしたら、何卒ご教授の程、宜しくお願い致します。

  • 二次元配列が上手くいきません

    Sample.txt 2 2 10 01 php <?php $handle = fopen('sample.txt','r'); // ファイルを開いてファイルポインタを取得 $contents = fread( $handle, 1024 ); // ファイル内容を1024バイト分読み込んで変数に格納 fclose( $handle ); // ファイルを閉じてファイルポインタを破棄 $start_part=array_map("trim",explode("\n",$contents));//$start_partは初期画像の行の配列 改行を削除 $r = $start_part[0];//横サイズを読み込む $g = $start_part[1];//縦サイズを読み込む $start[][]=""; //g行r列の2次元配列を作成 start[x][y],end[x][y]; for($j=0;$j<$g;$j++){ for($i=0;$i<$r;$i++){ $start[$i][$j] = substr($start_part[2+$j],$i,1); } } print_r($start); ?> xamppでphpの勉強をしている初心者です。 理想では$start[0][0]=1 $start[0][1]=0 $start[1][0]=0 $start[1][1]=1となってほしいのですが、 Array ( [0] => Array ( [0] => ) ) としか表示されず困っています。どこを直せばよいのでしょうか。どこが良くないのでしょうか。 ご教授ください。よろしくお願いします。

    • 締切済み
    • PHP