Php HttpPost在Android中不工作
我正在尝试从我的应用程序制作一个HttpPost到一个php脚本,然后将数据插入远程数据库。我没有收到任何运行时错误,但数据从未插入到我的远程数据库中。 代码:Php HttpPost在Android中不工作,php,android,mysql,http-post,Php,Android,Mysql,Http Post,我正在尝试从我的应用程序制作一个HttpPost到一个php脚本,然后将数据插入远程数据库。我没有收到任何运行时错误,但数据从未插入到我的远程数据库中。 代码: public类InsertResult扩展异步任务 { @凌驾 受保护的字符串doInBackground(字符串…arg0) { HttpClient HttpClient=新的DefaultHttpClient(); HttpPost HttpPost=新的HttpPost(“http://www..co.za/insertTeam
public类InsertResult扩展异步任务
{
@凌驾
受保护的字符串doInBackground(字符串…arg0)
{
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://www..co.za/insertTeamResultwithCode.php");
尝试
{
ArrayList nameValues=新的ArrayList(10);
添加(新的BasicNameValuePair(“代码”,密码));
添加(新的BasicNameValuePair(“节”,节));
添加(新的BasicNameValuePair(“性别”,性别));
添加(新的BasicNameValuePair(“WinningTeam”,newResult.getWinningTeam());
添加(新的BasicNameValuePair(“LosingTeam”,newResult.getLosingTeam());
添加(新的BasicNameValuePair(“FixtureD”,newResult.getDate());
add(新的BasicNameValuePair(“FixtureT”,newResult.getTime());
添加(新的BasicNameValuePair(“场所”,newResult.getVincement());
添加(新的BasicNameValuePair(“Court”,newResult.getCourt());
添加(新的BasicNameValuePair(“text”,newResult.getText());
setEntity(新的UrlEncodedFormEntity(nameValues));
HttpResponse response=httpclient.execute(httppost);
}
捕获(客户端协议例外e)
{
e、 printStackTrace();
}
捕获(IOE异常)
{
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(字符串结果)
{
GoToJarvisDashboard();
}
}
和PhP脚本:
<?php
//Code verifications
$Code = $_GET['Code'];
//Variables for SQL INSERT
$Section = $_GET['Section'];
$Gender = $_GET['Gender'];
$WinningTeam = $_GET['WinningTeam'];
$LosingTeam = $_GET['LosingTeam'];
$FixtureD = $_GET['FixtureD'];
$FixtureT = $_GET['FixtureT'];
$Venue = $_GET['Venue'];
$Court = $_GET['Court'];
$Texts = $_GET['Texts'];
$SetsWon = $_GET['SetsWon'];
$SetsLost = $_GET['SetsLost'];
$Winner_Score = $_GET['Winner_Score'];
$Loser_Score = $_GET['Loser_Score'];
$dbname = '<dbName>';
$dbuser = '<user>';
$dbpass = '<password>';
$dbhost = '<host>t';
$connect = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname) or die ("Unable to Connect to '$dbhost'");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$SQL = "SELECT * FROM squasdlw_db1.validationCodes WHERE Code = '$Code'";
$codeValid = mysqli_query($connect, $SQL) or die (mysqli_error($connect));
$response["no"] = array();
if (mysqli_num_rows($codeValid) > 0)
{
echo "Code is valid\n\n";
//Insert Result
$query = "INSERT INTO squasdlw_db1.jarvisTeamResults (Section,Gender,WinningTeam,LosingTeam,FixtureD,FixtureT,Venue,Court,Texts,SetsWon,SetsLost,Winner_Score,Loser_Score) VALUES('$Section','$Gender','$WinningTeam','$LosingTeam','$FixtureD','$FixtureT','$Venue','$Court','$Texts','$SetsWon','$SetsLost','$Winner_Score','$Loser_Score')";
$result = mysqli_query($connect, $query) or die (mysqli_error($connect));
echo "Result successfully submitted to Jarvis Remote Database: Table -> jarvisTeamResults\n\n" ;
//Update Winner on jarvisLogs
$query = "UPDATE squasdlw_db1.jarvisLogs SET Points = Points + '$Winner_Score', Played = Played + 1, Won = Won + 1 WHERE Gender = '$Gender' AND Section = '$Section' AND Team = '$WinningTeam'";
$result = mysqli_query($connect, $query) or die (mysqli_error($connect));
echo "Log update for '$WinningTeam': Table -> jarvisLogs\n\n";
//Update Winner on jarvisLogs
$query = "UPDATE squasdlw_db1.jarvisLogs SET Points = Points + '$Loser_Score', Played = Played + 1, Lost = Lost + 1 WHERE Gender = '$Gender' AND Section = '$Section' AND Team = '$LosingTeam'";
$result = mysqli_query($connect, $query) or die (mysqli_error($connect));
echo "Log update for '$LosingTeam': Table -> jarvisLogs\n\n";
$response["isValid"] = true;
echo json_encode($response);
}
else
{
$response["isValid"] = false;
echo "The code is not valid\n";
echo json_encode($response);
}
mysqli_close($connect);
?>
您正在android中发送POST
,但您希望php中的GET
不一样
将$\u GET
更改为$\u POST
,它将工作
您正在执行一个HttpPost
,因此您应该通过POST
获取数据,而不是get
//Code verifications
$Code = $_POST['Code'];
//Variables for SQL INSERT
$Section = $_POST['Section'];
$Gender = $_POST['Gender'];
$WinningTeam = $_POST['WinningTeam'];
$LosingTeam = $_POST['LosingTeam'];
$FixtureD = $_POST['FixtureD'];
$FixtureT = $_POST['FixtureT'];
$Venue = $_POST['Venue'];
$Court = $_POST['Court'];
$Texts = $_POST['Texts'];
$SetsWon = $_POST['SetsWon'];
$SetsLost = $_POST['SetsLost'];
$Winner_Score = $_POST['Winner_Score'];
$Loser_Score = $_POST['Loser_Score'];
或者更改android代码以发出GET
请求:
HttpGet httpget = new HttpGet("http://www.example.com/insertTeamResultwithCode.php");
我爱你!如果我能给你50+票,我发誓我会的
//Code verifications
$Code = $_POST['Code'];
//Variables for SQL INSERT
$Section = $_POST['Section'];
$Gender = $_POST['Gender'];
$WinningTeam = $_POST['WinningTeam'];
$LosingTeam = $_POST['LosingTeam'];
$FixtureD = $_POST['FixtureD'];
$FixtureT = $_POST['FixtureT'];
$Venue = $_POST['Venue'];
$Court = $_POST['Court'];
$Texts = $_POST['Texts'];
$SetsWon = $_POST['SetsWon'];
$SetsLost = $_POST['SetsLost'];
$Winner_Score = $_POST['Winner_Score'];
$Loser_Score = $_POST['Loser_Score'];
HttpGet httpget = new HttpGet("http://www.example.com/insertTeamResultwithCode.php");