duandan4680 2016-04-17 10:21
浏览 68

Android PHP Mysql通过params获取数据

I'm making android app with communication to PHP MySQL there is PHP files

create_order.php
get_all_orders.php
get_order_status.php

create_order.php works get_all_orders.php also but example in browser I'm typing get_order_status.php?oid=102 it gives me response but it contains an error {"success":0,"message":"Required field(s) is missing get status"} when trying it from android by POST method

RequestQueue queue = MyVolley.getRequestQueue();

        String num1 = "1";

        if (num1 != null && !num1.equals("")) {
            String uri = String
                    .format("http://192.168.0.101/android_connect/get_order_status.php?param1=%1$s",
                            num1);

            StringRequest myReq = new StringRequest(Request.Method.GET,
                    uri,
                    createMyReqSuccessListener(),
                    createMyReqErrorListener());
            queue.add(myReq);
        }

get_order_status.php

/*
 * Following code will get single product details
 * A product is identified by product id (pid)
 */

// array for JSON response
$response = array();

// include db connect class
//require_once __DIR__ . '/db_connect.php';

// connecting to db
//$db = new DB_CONNECT();

// check for post data

//echo("post data - ".$_GET['oid']);

if (isset($_GET['oid'])) {
    $pid = $_GET['oid'];

    // get a order from orders table
 $mysqli = new mysqli('localhost','root','rootpass','testdb');

 $result = mysqli_fetch_array($mysqli->query("SELECT * FROM orders WHERE oid = $pid")); 
     //echo($result["status"]);
    if (count($result)>0) {
        // check for empty result


            $order = array();
            $order ["status"] = $result["status"];

            // success
            $response["success"] = 1;

            // user node
            $response["order"] = array();

            array_push($response["order"], $order);

            // echoing JSON response
            echo json_encode($response);
        } else {
            // no product found
            $response["success"] = 0;
            $response["message"] = "No order found";

            // echo no users JSON
            echo json_encode($response);
        }

} else {
    // required field is missing
    $response["success"] = 0;
   $response["message"] = "Required field(s) is missing get status";

    // echoing JSON response
    echo json_encode($response);
}
?>  
  • 写回答

1条回答 默认 最新

  • douhui8025 2016-04-17 12:28
    关注

    change param1 to oid in this line (android code)

    String uri = String.format("http://192.168.0.101/android_connect/get_order_status.php?param1=%1$s",num1);
    

    should be like this:

    String uri = String.format("http://192.168.0.101/android_connect/get_order_status.php?oid=%1$s",num1);
    

    as in your PHP file you are reading parameter named oid

    $pid = $_GET['oid'];
    
    评论

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决