Android php 连接不工作

标签 android mysql

Android 代码

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.lpu.delight.lovelysweets.R;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import java.util.ArrayList;

public class AddNewItem extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_add_new_item);
        EditText proname = (EditText)findViewById(R.id.adduprice);
        EditText  unitprice = (EditText) findViewById(R.id.addpnameet);

        final String PName = proname.getText().toString();
        final String UPrice = unitprice.getText().toString();
        Button btninsert = (Button)findViewById(R.id.addbtninsert);

        btninsert.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httpPost = new HttpPost("http://10.0.2.2/insert.php");

                try
                {
                    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                    nameValuePairs.add(new BasicNameValuePair("pname",PName));
                    nameValuePairs.add(new BasicNameValuePair("uprice", UPrice));
                    httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                    HttpResponse response = httpclient.execute(httpPost);
                    Toast.makeText(getApplicationContext(),
                            "Inserted", Toast.LENGTH_LONG)
                            .show();

                }
                catch (Exception e)
                {
                e.printStackTrace();
                }
            }
        });

    }
}

插入.PHP 代码

<?php

$username = "root";
$password = "toor";
$hostname = "localhost"; 

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password) 
  or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";


//select a database to work with
$selected = mysql_select_db("android_api",$dbhandle) 
  or die("Could not select examples");


//retrieve the data
$pnm = $_POST['pname'];
$pp = $_POST['uprice'];


mysql_query ("INSERT INTO tblproduct (pname,uprice) VALUES('$pnm', '$pp', NOW())");

mysql_close($dbhandle);

?>

无法工作,没有任何反应,请帮忙

当我运行时,它也没有打印 toast 消息。请帮我看看 php 文件中的变量是 pname 和 uprice 但它仍然没有执行 try block 有什么问题。

最佳答案

在您的查询中,INTO 中缺少一个参数

mysql_query ("INSERT INTO tblproduct (pname,uprice) VALUES('$pnm', '$pp')") or die(mysql_error());

;//值是3个参数,插入到有两列的表中

关于Android php 连接不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34837545/

相关文章:

android - SDK 发送错误的 key ,因此如果安装了 Facebook 应用程序,则登录失败并显示无效 key

Android:android.view.InflateException:二进制 XML 文件第 13 行:三星 Galaxy S 中的错误膨胀类 <unknown>

mysql - 计算mysql中的元组

mysql - MySQL存储过程去掉撇号的难点

android - 让表在 fragment 中,错误是在空对象引用上

android - Android Studio:将YouTube channel 供稿插入我的应用程序?

android - Android 中的 Fontawesome 5,3 个文件

c# - MySQL 密码登录代码?

mysql - 通过在 MYSQL 中添加 2 列值作为行来创建新列

php - Google App Engine 上的 CloudSQL PDO(unix_socket) 问题