我想发送名称= zaeem到我的PHP服务器端,但是当我从Android发送它我没有得到任何东西在PHP端。我的PHP代码是免费托管。下面是我的Android和PHP代码。为什么数据没有收到在PHP中,当我从Android发布它?
这个代码是GET请求
protected String doInBackground(Void... params)
{
String responseData = "";
InputStream inputStream = null;
HttpURLConnection urlConnection = null;
Integer result = 0;
try {
/* forming th java.net.URL object */
URL url = new URL("http://za*******pk/testregister.php/");
urlConnection = (HttpURLConnection) url.openConnection();
/* optional request header */
// urlConnection.setRequestProperty("Content-Type", "application/json");
/* optional request header */
// urlConnection.setRequestProperty("Accept", "application/json");
/* for Get request */
urlConnection.setRequestMethod("GET");
DataOutputStream wr = new DataOutputStream(
urlConnection.getOutputStream());
wr.writeBytes("name=zaeem");
wr.flush();
wr.close();
int statusCode = urlConnection.getResponseCode();
Log.d("code", statusCode + "");
/* 200 represents HTTP OK */
if (statusCode == 200) {
inputStream = new BufferedInputStream(urlConnection.getInputStream());
responseData = convertInputStreamToString(inputStream);
result = 1; // Successful
} else {
result = 0; //"Failed to fetch data!";
}
} catch (Exception e) {
Log.d("exception", e.getLocalizedMessage());
}
return responseData;
}
该代码可用于POST请求
私有类MyTaskPost扩展的AsyncTask {
@Override
protected String doInBackground(Void... params) {
String responseData = "";
InputStream inputStream = null;
HttpURLConnection urlConnection = null;
Integer result = 0;
try {
/* forming th java.net.URL object */
URL url = new URL("http://za****e.pk/testregister.php");
urlConnection = (HttpURLConnection) url.openConnection();
/* optional request header */
//urlConnection.setRequestProperty("Content-Type", "application/json");
/* optional request header */
// urlConnection.setRequestProperty("Accept", "application/json");
/* for Get request */
urlConnection.setRequestMethod("POST");
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(
urlConnection.getOutputStream());
wr.writeBytes("name=zaeem");
wr.flush();
wr.close();
int statusCode = urlConnection.getResponseCode();
Log.d("code", statusCode+"");
/* 200 represents HTTP OK */
if (statusCode == 200) {
Toast.makeText(getApplicationContext(),"200",Toast.LENGTH_SHORT).show();
inputStream = new BufferedInputStream(urlConnection.getInputStream());
responseData = convertInputStreamToString(inputStream);
result = 1; // Successful
}else{
result = 0; //"Failed to fetch data!";
}
} catch (Exception e) {
Log.d("exception", e.getLocalizedMessage());
}
return responseData;
}
而且我的PHP端代码是(这是免费托管托管)
$name1=$_GET['name'];
$name1=$_POST['name'];
$name1=$_REQUEST['name'];
$con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
// selecting database
mysql_select_db(DB_DATABASE);
$result = mysql_query("INSERT INTO gcm_users(name, email, gcm_regid,created_at) VALUES('$name1', 'email', 'longtext', NOW())");
$result = mysql_query("SELECT * FROM gcm_users WHERE id = 1") or die(mysql_error());
if (mysql_num_rows($result) > 0)
{
echo 'more than 1 user';
}
当我使用POST方法我得到200代码但仍然没有添加到数据库的数据。
是你的代码在PHP工作正常? –
@SyedTayyabAbbas $ name1 = $ _ GET ['name']; $ name1 = $ _ POST ['name']; $ name1 = $ _ REQUEST ['name']; $ con = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD); //选择数据库\t mysql_select_db(DB_DATABASE); (''name1','email','longtext',NOW())“);这个函数返回一个数组, \t echo'shown'; –
是由此代码修改的数据库。 –