Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android、php、MySQL和phpMyAdmin_Php_Android_Mysql_Phpmyadmin - Fatal编程技术网

Android、php、MySQL和phpMyAdmin

Android、php、MySQL和phpMyAdmin,php,android,mysql,phpmyadmin,Php,Android,Mysql,Phpmyadmin,希望你们能给我们一些启示。我正在从事一个Android Capstone项目,该项目通过php和phpMyAdmin连接到MySQL数据库。我试图将三个参数(childId、date1和date5)从Android传递到php脚本,但它不起作用。当我尝试打印结果时,Logcat只是显示错误。我认为问题出在我的php脚本中,因为如果我只传递两个参数(childId和date1),那么一切都可以正常工作。非常感谢您的帮助。以下是我的code.php: <?php require "conn.p

希望你们能给我们一些启示。我正在从事一个Android Capstone项目,该项目通过php和phpMyAdmin连接到MySQL数据库。我试图将三个参数(childId、date1和date5)从Android传递到php脚本,但它不起作用。当我尝试打印结果时,Logcat只是显示错误。我认为问题出在我的php脚本中,因为如果我只传递两个参数(childId和date1),那么一切都可以正常工作。非常感谢您的帮助。以下是我的code.php:

<?php
require "conn.php";

$response = array();

if($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$childId = $_POST["childId"];
$date1 = $_POST["date"];
$date5 = $_POST["date"];


$sql = "SELECT * FROM child_sessions WHERE childId like '$childId' AND date BETWEEN '$date1' AND '$date5'";


$result = $conn->query($sql);

if($result->num_rows > 0) {

    $response["child_sessions"] = array();

    while($row = mysqli_fetch_array($result)) {
        $child_sessions = array();
        $child_sessions["date"] = $row["date"];
        $child_sessions["timeIn"] = $row["timeIn"];
        $child_sessions["timeOut"] = $row["timeOut"];
        $child_sessions["duration"] = $row["duration"];
        $child_sessions["childId"] = $row["childId"];
        $child_sessions["sessionCost"] = $row["sessionCost"];           
        array_push($response["child_sessions"], $child_sessions);
    }

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

    echo json_encode($response);
} else {
    echo "Error";
}

$conn->close();
?>

提前感谢。

您对单个“日期”参数编码了两次(并在php中读取了两次)。修复php和java,使其具有适当的参数键date1和date5

因此,在php脚本中:

$date1 = $_POST["date1"];
$date5 = $_POST["date5"];
在java中,将行更改为:

String post_data = URLEncoder.encode("childId", "UTF-8") + "=" + URLEncoder.encode(childId, "UTF-8") + "&"+
            URLEncoder.encode("date1", "UTF-8") + "=" + URLEncoder.encode(date1, "UTF-8") + "&" +
            URLEncoder.encode("date5", "UTF-8") + "=" + URLEncoder.encode(date5, "UTF-8");
String post_data = URLEncoder.encode("childId", "UTF-8") + "=" + URLEncoder.encode(childId, "UTF-8") + "&"+
            URLEncoder.encode("date1", "UTF-8") + "=" + URLEncoder.encode(date1, "UTF-8") + "&" +
            URLEncoder.encode("date5", "UTF-8") + "=" + URLEncoder.encode(date5, "UTF-8");