簡體   English   中英

PHP未返回預期結果

[英]PHP not return expected result

我得到一個非常奇怪的結果! 我從Java類發布了一個id ,其中該ID將在php腳本中用於檢索特定數據。 value應為1,但始終顯示2

<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
    //Getting values 
    $id = $_POST['id'];

    //Creating sql query
    $sql = "SELECT xuenian FROM student WHERE sid='$id'";

    //importing dbConnect.php script 
    require_once('db_config.php');

    //executing query
    $result = mysqli_query($con,$sql);

    $value = mysqli_fetch_object($result);
    $value->xuenian;

    if($value === "1"){
        echo "1";
    }else{
         echo "2";
    }
    mysqli_close($con);
}

我試過== ,結果還是一樣。

Java類

 public void loadResults(final String id, final int xuenian) {

        StringRequest stringRequest = new StringRequest(Request.Method.POST, AppConfig.URL_CHECKID,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Toast.makeText(getApplication(),response+"from php",Toast.LENGTH_LONG).show();
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(getApplication(), error + "", Toast.LENGTH_LONG).show();
                    }
                }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                //Adding parameters to request
                params.put(AppConfig.KEY_USERID, id);
                //returning parameter
                return params;
            }
        };

        //Adding the string request to the queue
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    }

您正在此處將$value設置$value對象:

$value = mysqli_fetch_object($result);

然后此行不執行任何操作:

$value->xuenian;

在下一行, $value仍然是一個對象,但是您將其與字符串進行比較,該字符串將始終為false:

if($value === "1")
{
    echo "1";
}else{
    echo "2";
}

您可能想要這樣:

if($value->xuenian === "1")

暫無
暫無

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

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