0

次のコードでは、データベースから抽出した 6 つの値を配列 'arrayRetrievedUserInfo' に割り当てています。しかし、この配列を印刷すると、そのうちの 2 つしか表示されません。次に、この配列を別の配列 'arrayResponse' に割り当てます。この配列には、arrayRetrievedUserInfo と他の 2 つのフィールドが含まれています。しかし、この配列を印刷すると、arrayRetrievedUserInfo を直接印刷するときに表示されなかった arrayRetrievedUserInfo の 4 つの値が表示されます。この問題を解決するために私を助けてください。

public function signIn()
    {
        //code for signing in the user
        try
        {
            $success=0;
            //query to retrieve user info
            $query_sign_in="SELECT * FROM users WHERE user_name='".$this->userName."'and user_pass='".$this->password."'";
            $result_sign_in=mysql_query($query_sign_in,$this->db)or die (mysql_error());
            if($result_sign_in!=0)
            {
                /*
                Check if record exist against this username-password combination
                */
                if(mysql_num_rows($result_sign_in)==0)
                {
                    //Username-password combination does not exit
                    $arrayErrors['no_user']=$this->USERNAME_PASSWORD_COMBINATION_ERROR;
                    $success=0;
                }   
                else
                {
                    //Username-password combination exist
                    while($row=mysql_fetch_array($result_sign_in))
                    {
                        //Retrieve the user's data from database
                        $arrayRetrievedUserinfo['user_id']=$row["user_id"];
                        $arrayRetrievedUserInfo['first_name']=$row["first_name"];
                        $arrayRetrievedUserInfo['last_name']=$row["last_name"];
                        $arrayRetrievedUserinfo['username']=$row["user_name"];
                        $arrayRetrievedUserInfo['email']=$row["user_email"];
                        $arrayRetrievedUserInfo['user_type']=$row["user_level"];    //1-admin 0->non-admin  

                        echo "Echoing database elements individually";
                        echo $row['first_name']."<br />";
                        echo $row['last_name']."<br />";
                        echo $row['user_name']."<br />";
                        echo $row['user_email']."<br />";
                        echo $row['user_id']."<br />";
                        echo "-------------------------------<br/>";

                    }           
                    $success=1; 

                        echo "Printing the contents of the arrayRetrievedUserinfo using a for loop  <br/>";
                        foreach ($arrayRetrievedUserinfo as $key) 
                        {
                            echo $key."\n";
                            echo "\n";
                        }
                        echo "<br>--------------------------<br>";                  

                }
            }
            else
            {
                $arrayErrors['db']=$this->DATABASE_CONNECTION_ERROR;
                $success=0;
            }


                            if($success)
                            {
                                    //Query executed successfully
                                    $arrayResponse["success"]=1;                            //staus of the operation
                                    $arrayResponse["errors"]=0;                             //if any error occured
                                    $arrayResponse["user_info"]=$arrayRetrievedUserInfo;    //array of the information retrieved from the database
                                    echo "**Checking contents of the arrayResponse using var_dump  <br>";
                                    var_dump($arrayResponse);
                                    echo "<br>---------------------------------------<br>";
                                    return $arrayResponse;                                  //return the array of response to the calling methode
                            }
                            else
                            {
                                    //Query failed to execute
                                    $arrayResponse["success"]=0;                            //status = failure
                                    $arrayResponse["errors"]=1;                             //errors occured =yes
                                    $arrayResponse["error_details"]=$arrayErrors;           //send the errors
                                    return $arrayResponse;                                  //return the array of response to the script: sign_in_android.php
                            }   


        }
        catch(Exception $e)
        {
        }
    }

出力は ------------ データベース要素を個別にエコーするhddhdh e dd ddd

88

for ループを使用して arrayRetrievedUserinfo の内容を出力する

88日

**var_dump を使用して arrayResponse の内容を確認する

array(3) { ["success"]=> int(1) ["errors"]=> int(0) ["user_info"]=> array(4) { ["first_name"]=> string(6) "hddhdh" ["last_name"]=> string(1) "e" ["email"]=> string(3) "ddd" ["user_type"]=> string(1) "0" } }

4

1 に答える 1