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