2

私はこのコードを持っています:

<?php
            require_once 'Membership.php';
    $membership = New Membership();
    $AccountType = $membership->is_Account($currUser);
    if ($AccountType == 'S') {
        echo '<li>';
        echo $AccountType;
        echo '</li>';
    }
   ?>

これは、これを行う関数を使用して別のドキュメント Membership.php を呼び出します。

function is_Account($currUser){
    //Find out if user is a buyer or a seller
    $mysql = New Mysql();
    $mysql->get_Account($currUser); 
}

組織上の理由から、これを行うドキュメントに移動します(他の機能が正常に機能するため、このビットは機能します)。

function get_Account($currUser) {
    $mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);
    if (!$mysqli) {
        die('There was a problem connecting to the database.');
    }       
    $queryAcct = "SELECT Id
            FROM Users
            WHERE Username = '$currUser'
            LIMIT 1";
    if ($Result = $mysqli->query($queryAcct)){
        if (!$Result) {
            echo 'Could not run query: ' . mysql_error();
            exit;
        }
        else {
            $row = $Result->fetch_assoc();
            return $row["Id"];
        }
    }
    $mysqli->close();
}

つまり、最後の関数には問題があります。返された Id を使用して、たとえば 1 の場合、ID 1 に関連するコンテンツを表示します (階層システムであるため、複数の人がその ID 番号を持ちます)。

基本的に-IDを元のコードに戻さない理由がわかりません。私は何か間違ったことをしたと思います。私はそれを修正する方法がわかりません。

$row["Id"] をエコーするとうまくいくので、ビットは問題なく、SQL の問題ではないことがわかります。しかし、それは私がやりたいことではありません。

4

1 に答える 1

5

関数get_Account()内から値を返す必要があります。is_Account()

return $mysql->get_Account($currUser);
于 2012-12-19T16:01:25.123 に答える