簡體   English   中英

Android 錯誤:值

[英]Android Error: Value <br of type java.lang.String cannot be converted to JSONObject

目前,我創建了一個具有登錄功能的應用程序。 為了從 android 連接到 MySQL 數據庫,我使用 PHP。 當我使用 MySQLi 時,一切正常。 但是當我轉換為 PDO 時,錯誤將與我的問題標題相同。 誰能知道是什么問題? 下面是我的PHP代碼:

<?php 

    require_once 'configPDO.php';

    $response = array();

        if(isTheseParametersAvailable(array('badgeid', 'pwd'))){

            $badgeid = $_POST['badgeid'];
            $pwd = $_POST['pwd']; 

            $stmt = $conn->prepare("SELECT badgeid, email, fullname, roles_id, team_id FROM users WHERE badgeid = :badgeid AND pwd = :pwd AND roles_id = 3");
            // $stmt->bind_param("ss",$badgeid, $pwd);

            $stmt->bindParam(':badgeid',$badgeid,PDO::PARAM_STR);
            $stmt->bindParam(':pwd',$pwd,PDO::PARAM_STR);
            $stmt->execute();

            //$stmt->store_result();

            if($stmt->rowCount() > 0){

                $stmt->bindParam($badgeid, $email, $fullname, $roles_id, $team_id);
                $stmt->fetch();

                $user = array(
                    'badgeid'=>$badgeid, 
                    'email'=>$email,
                    'fullname'=>$fullname,
                    'roles_id'=>$roles_id,
                    'team_id'=>$team_id
                );

                $response['error'] = false; 
                $response['message'] = 'Login successfull'; 
                $response['user'] = $user; 
            }else{
                $response['error'] = false; 
                $response['message'] = 'Invalid username or password';
            }
        }
    echo json_encode($response);

    function isTheseParametersAvailable($params){

        foreach($params as $param){
            if(!isset($_POST[$param])){
                return false; 
            }
        }
        return true; 
    }

你的第二個bindParam() (你應該閱讀並理解這個方法到底是做什么的!)在if條件中是無稽之談!

改變這個:

if($stmt->rowCount() > 0){

    $stmt->bindParam($badgeid, $email, $fullname, $roles_id, $team_id);
    $stmt->fetch();

    $user = array(
        'badgeid'=>$badgeid, 
        'email'=>$email,
        'fullname'=>$fullname,
        'roles_id'=>$roles_id,
        'team_id'=>$team_id
    );

對此:

$result = $stmt->fetch(\PDO::FETCH_ASSOC); // Get results as array
if ($result) {
    // Since we only get the fields we want to send back, you can assign `$result` directly to `$response['user']`
     $response['user'] = $result; 

PHP 拋出了一個相關的錯誤,您會在請求的原始響應中看到它!

價值

[英]Value <br of type java.lang.String cannot be converted to JSONObject - android php


[英]Value <br of type java.lang.String cannot be converted to JSONObject Android

價值誤差

[英]Error of value <br of type java.lang.String cannot converted to JSONObject

JSONException:值

[英]JSONException: Value <br of type java.lang.String cannot be converted to JSONObject

為價值而移除

[英]Removing </b> for Value <br of type java.lang.String cannot be converted to JSONObject

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM