会員番号 usces_memberinfo(‘ID’) について

フォーラム 使い方全般 会員番号 usces_memberinfo(‘ID’) について

  • このトピックには3件の返信、2人の参加者があり、最後にzilchr2により12年、 4ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #51684
    zilchr2
    参加者

    nanbu様、いつもお世話になります。

    会員番号(usces_memberinfo(‘ID’))でデータベース内を検索しようと思っています。

    そこで下記のようにSelect文をsprintfで記載したらusces_memberinfo(‘ID’)が%sの位置に代入されず、Select文が実行されませんでした。

    $sql=sprintf("SELECT * FROM テーブル名 WHERE user_id = %s",usces_memberinfo('ID'));

    どのように動作をしているか下記のようにして確認したところ

    printf("SELECT * FROM テーブル名 WHERE user_id = %s",usces_memberinfo('ID')

    会員番号(usces_memberinfo(‘ID’))が1000の時、以下のように表示されていました。

    1000SELECT * FROM テーブル名 WHERE user_id =

    usces_memberinfo(‘ID’)は特殊な表示方法となっているのでしょうか?

    どうにかして下記のように正しく表示する方法はないでしょうか?

    SELECT * FROM テーブル名 WHERE user_id = 1000

    よろしくお願いします。

    #65001
    zilchr2
    参加者

    お世話になります。追記となります。

    変数(A)を用いてみましたがこちらもうまくいきませんでした。

    切り分けのためにあえて echo ‘テスト’; を使用しました。

    $A = usces_memberinfo('ID');
    echo 'テスト';
    $sql=sprintf("SELECT * FROM テーブル名
               WHERE user_id = %s", $A);

    実行結果

    1000テストSELECT * FROM テーブル名 WHERE user_id =

    この結果から、変数(A)にusces_memberinfo(‘ID’)の値1000を代入できていないようです。またusces_memberinfo(‘ID’)の値がechoなどを使わなくても常に表示されてしまっているようです。

    よろしくお願いします。

    #65002
    shika
    参加者

    zilchr2様、初めまして。

    値を取得したい場合は第2引数に ‘return’ を指定すると期待通りの動きをしてくれると思いますよ。

    usces_memberinfo('ID', 'return');

    #65003
    zilchr2
    参加者

    shika様、ありがとうございます!!!

    教えていただいた通り下記で問題解決です!

    $sql=sprintf("SELECT * FROM テーブル名 WHERE user_id = %s",usces_memberinfo('ID', 'return'));

    この4日間位悩んでいた問題がすっきり解決しました。

    本当に感謝です!

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。