php
  • mysql
  • android-webservice
  • 2017-08-03 155 views -1 likes 
    -1

    我正在開發一個adroid應用程序,並且遇到了一些關於php web服務的麻煩。Php Web服務。如何從數據庫中獲取數據?

    我想獲取用戶類型信息表單數據庫,並根據答案我會在後臺做一些處理。

    所以在我的身份驗證代碼中有一個這樣的區域來獲取usertype;

    function getUserType(){ 
        $sql = "SELECT `usertype` FROM `login_test` WHERE username = '". $this->username2."' 
        AND password = '".$this->password2."'"; 
    
        $result = mysqli_query($this->DB_CONNECTION, $sql); 
    
        if(mysqli_num_rows($result)>0){ 
         return (?); 
        } 
    } 
    

    和我在我的登錄代碼中的消息將發送到這裏;

    if ($userStatus) { 
    // user existed 
    // So log him to main page 
    $json['success'] = 1; 
    $json['message'] = 'Access Granted'; 
    $json['usertype'] = 'Client'; 
    
    
    echo json_encode($json); 
    

    在這裏,我不知道如何在我的表訪問某一個領域所謂的「用戶類型」(我在PHP真正的新),以及如何返回,我得到的價值。

    任何幫助將apreciated

    P.S = $ userStatus返回TURE。

    +1

    瞭解準備好的語句以防止SQL注入 – Jens

    +1

    **危險**:您很容易受到[SQL注入攻擊](http://bobby-tables.com/)**的攻擊,您需要[防禦] (http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己從。 – Quentin

    +0

    因爲我不是先進的MySQL數據庫系統和PHP我不知道如何保護我的數據庫從注射我剛纔聽說正則表達式來保護。 – Agent48

    回答

    1

    你可以試着這樣做:

    $sql = "SELECT * FROM `login_test` WHERE username = '$this->username2' AND password = '$this->password2'"; 
    $result = mysqli_query($this->DB_CONNECTION, $sql); 
    return $result->fetch_object()->userType; 
    

    雖然也請保持頭腦中使用準備好的語句。

    +0

    我現在試着謝謝 – Agent48

    +0

    看到更新後的答案,您將不得不選擇所有使用*的字段,而不是選擇以這種方式指定字段 – Sushil

    +0

    我剛剛完成控制您的建議,但這裏有一些問題。問題它只獲取表的第一個條目我的意思是有5個用戶5個密碼5個類型,它只獲取第一個用戶的usertype.Also其他用戶不會返回任何值,當我通過郵遞員應用程序檢查空白頁出現。 – Agent48

    相關問題