试图插入使用Android和PHP MYSQL时出错 [英] Error when trying to insert into MYSQL using Android and PHP

查看:78
本文介绍了试图插入使用Android和PHP MYSQL时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用Android模拟器3.1插入到MySQL,但我的问题我不能能够插入,它给我的logcat中的错误可以有人帮助我,请我在这里的code.The有趣的一部分,插入空数据到我的MySQL。

PHP

  mysql_select_db(属性,$ CON);

$ SQL =INSERT INTO客户(c_name和C_Surname,C_ID,C_Address,C_Email,C_CellNumber,C_UserName,C_Password)
   VALUES('$ _ POST [C_Name]','$ _ POST [C_Surname]','$ _ POST [C_ID]','$ _ POST [C_Address]','$ _ POST [C_Email]',
   '$ _ POST [C_CellNumber]','$ _ POST [C_UserName]','$ _ POST [C_Password]');

如果(!的mysql_query($的SQL,$ CON))
  {
  死亡(错误:mysql_error());
  }
//回声1纪录补充;

回声json_en code($ SQL);

则mysql_close($ CON);
 

和我的活动

 保护字符串doInBackground(字符串参数... args){

            字符串名称= input_Name.getText()的toString()。
            字符串姓= input_Surname.getText()的toString()。
            。字符串ID = input_ID.getText()的toString();
            。字符串地址= input_Address.getText()的toString();
            字符串EMIAL = input_Email.getText()的toString()。
            字符串CellNumber = input_CellNumber.getText()的toString()。
            字符串username = input_UserName.getText()的toString()。
            字符串Pasword = input_Password.getText()的toString()。

            //大厦参数
            名单<的NameValuePair> PARAMS =新的ArrayList<的NameValuePair>();
            params.add(新BasicNameValuePair(姓名,名字));
            params.add(新BasicNameValuePair(姓,姓));
            params.add(新BasicNameValuePair(ID,ID));
            params.add(新BasicNameValuePair(地址,地址));
            params.add(新BasicNameValuePair(EMIAL,EMIAL));
            params.add(新BasicNameValuePair(CellNumber,CellNumber));
            params.add(新BasicNameValuePair(用户名,用户名));
            params.add(新BasicNameValuePair(Pasword,Pasword));

            //获取JSON对象
            //注意,创造产品的URL接受POST方法
            JSONObject的JSON = jsonParser.makeHtt prequest(url_create_product,
                    POST,则params);



            //检查日志猫来回响应
            Log.d(创建回应,json.toString());

            //检查成功标签
            尝试 {
                INT成功= json.getInt(TAG_SUCCESS);

                如果(成功== 1){
                    //创建成功产品

                    Toast.makeText(RegisterUsers.this,客户已注册,Toast.LENGTH_LONG).show();

                    //关闭此屏幕
                   // 完();
                } 其他 {
                    //创建失败产品

                    Toast.makeText(RegisterUsers.this,错误,Toast.LENGTH_LONG).show();
                }
            }赶上(JSONException E){
                e.printStackTrace();
            }

            返回null;
        }

        / **
         *在完成后台任务之后关闭该进度对话框
         * ** /
        保护无效onPostExecute(字符串file_url){
            //驳回一旦完成对话
            pDialog.dismiss();
        }

    }
 

我想谷歌的错误,但没有找到它。我只需要知道该怎么办,因为这差不多3小​​时试图此code.My日志猫误差

的logcat

  06-18 22:46:45.045:E / JSON解析器(1453):错误解析数据org.json.JSONException:值INSERT INTO客户(c_name和C_Surname,C_ID,C_Address ,C_Email,C_CellNumber,C_UserName,C_Password)

06-18 22:46:45.045:E / JSON解析器(1453)VALUES('','','','','',

06-18 22:46:45.045:E / JSON解析器(1453):'','','')java.lang.String类型不能转换成的JSONObject
06-18 22:46:45.065:W / dalvikvm(1453):主题ID = 9:线程退出与未捕获的异常(组= 0x40014760)
06-18 22:46:45.095:E / AndroidRuntime(1453):致命异常:AsyncTask的#1
06-18 22:46:45.095:E / AndroidRuntime(1453):java.lang.RuntimeException的:一个错误而执行doInBackground发生()
06-18 22:46:45.095:E / AndroidRuntime(1453):在android.os.AsyncTask $ 3.done(AsyncTask.java:266)
06-18 22:46:45.095:E / AndroidRuntime(1453):在java.util.concurrent.FutureTask中$ Sync.innerSetException(FutureTask.java:273)
06-18 22:46:45.095:E / AndroidRuntime(1453):在java.util.concurrent.FutureTask.setException(FutureTask.java:124)
06-18 22:46:45.095:E / AndroidRuntime(1453):在java.util.concurrent.FutureTask中$ Sync.innerRun(FutureTask.java:307)
06-18 22:46:45.095:E / AndroidRuntime(1453):在java.util.concurrent.FutureTask.run(FutureTask.java:137)
06-18 22:46:45.095:E / AndroidRuntime(1453):在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1081)
06-18 22:46:45.095:E / AndroidRuntime(1453):在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:574)
06-18 22:46:45.095:E / AndroidRuntime(1453):在java.lang.Thread.run(Thread.java:1020)
06-18 22:46:45.095:E / AndroidRuntime(1453):由:显示java.lang.NullPointerException
06-18 22:46:45.095:E / AndroidRuntime(1453):在de.vogella.android.locationapi.simple.RegisterUsers$CreateNewCustomer.doInBackground(RegisterUsers.java:136)
06-18 22:46:45.095:E / AndroidRuntime(1453):在de.vogella.android.locationapi.simple.RegisterUsers$CreateNewCustomer.doInBackground(RegisterUsers.java:1)
06-18 22:46:45.095:E / AndroidRuntime(1453):在android.os.AsyncTask $ 2.call(AsyncTask.java:252)
06-18 22:46:45.095:E / AndroidRuntime(1453):在java.util.concurrent.FutureTask中$ Sync.innerRun(FutureTask.java:305)
06-18 22:46:45.095:E / AndroidRuntime(1453):4 ...更多
 

解决方案

您需要更改此

  params.add(新BasicNameValuePair(名,名称));
params.add(新BasicNameValuePair(姓,姓));
 

和它必须是相同的PHP这样

  params.add(新BasicNameValuePair(C_Name,名称));
params.add(新BasicNameValuePair(C_Surname,姓));
 

I'm trying to insert into mysql using android emulator 3.1,but my problem I cant able to insert, it giving me errors in logcat can someone help me please here my code.The funny part it inserting empty data into my mysql.

PHP

mysql_select_db("properties", $con);

$sql="INSERT INTO customer(C_Name, C_Surname, C_ID, C_Address, C_Email, C_CellNumber, C_UserName, C_Password)
   VALUES('$_POST[C_Name]','$_POST[C_Surname]','$_POST[C_ID]','$_POST[C_Address]','$_POST[C_Email]',
   '$_POST[C_CellNumber]','$_POST[C_UserName]','$_POST[C_Password]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
//echo "1 record added";

echo json_encode($sql);

mysql_close($con);

And my Activity

protected String doInBackground(String... args) {

            String name = input_Name.getText().toString();
            String surname = input_Surname.getText().toString(); 
            String ID = input_ID.getText().toString();        
            String Address = input_Address.getText().toString();
            String Emial = input_Email.getText().toString();
            String CellNumber = input_CellNumber.getText().toString();
            String Username = input_UserName.getText().toString();
            String Pasword = input_Password.getText().toString();

            // Building Parameters
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("name",name)); 
            params.add(new BasicNameValuePair("surname",surname));
            params.add(new BasicNameValuePair("ID",ID));        
            params.add(new BasicNameValuePair("Address",Address));
            params.add(new BasicNameValuePair("Emial",Emial));
            params.add(new BasicNameValuePair("CellNumber",CellNumber));
            params.add(new BasicNameValuePair("Username",Username));
            params.add(new BasicNameValuePair("Pasword",Pasword));

            // getting JSON Object
            // Note that create product url accepts POST method
            JSONObject json = jsonParser.makeHttpRequest(url_create_product,
                    "POST", params);



            // check log cat fro response
            Log.d("Create Response", json.toString());

            // check for success tag
            try {
                int success = json.getInt(TAG_SUCCESS);

                if (success == 1) {
                    // successfully created product

                    Toast.makeText(RegisterUsers.this,"Customer has been Registered",Toast.LENGTH_LONG).show();        

                    // closing this screen
                   // finish();
                } else {
                    // failed to create product

                    Toast.makeText(RegisterUsers.this,"Error",Toast.LENGTH_LONG).show();   
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

            return null;
        }

        /**
         * After completing background task Dismiss the progress dialog
         * **/
        protected void onPostExecute(String file_url) {
            // dismiss the dialog once done
            pDialog.dismiss();
        }

    }

I tried to google the error but did not find it.I just need to know what to do because it almost 3 hours trying this code.My log cat error

LOGCAT

06-18 22:46:45.045: E/JSON Parser(1453): Error parsing data org.json.JSONException: Value INSERT INTO customer(C_Name, C_Surname, C_ID, C_Address, C_Email, C_CellNumber, C_UserName, C_Password)

06-18 22:46:45.045: E/JSON Parser(1453):    VALUES('','','','','',

06-18 22:46:45.045: E/JSON Parser(1453):    '','','') of type java.lang.String cannot be converted to JSONObject
06-18 22:46:45.065: W/dalvikvm(1453): threadid=9: thread exiting with uncaught exception (group=0x40014760)
06-18 22:46:45.095: E/AndroidRuntime(1453): FATAL EXCEPTION: AsyncTask #1
06-18 22:46:45.095: E/AndroidRuntime(1453): java.lang.RuntimeException: An error occured while executing doInBackground()
06-18 22:46:45.095: E/AndroidRuntime(1453):     at android.os.AsyncTask$3.done(AsyncTask.java:266)
06-18 22:46:45.095: E/AndroidRuntime(1453):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
06-18 22:46:45.095: E/AndroidRuntime(1453):     at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
06-18 22:46:45.095: E/AndroidRuntime(1453):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
06-18 22:46:45.095: E/AndroidRuntime(1453):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
06-18 22:46:45.095: E/AndroidRuntime(1453):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1081)
06-18 22:46:45.095: E/AndroidRuntime(1453):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:574)
06-18 22:46:45.095: E/AndroidRuntime(1453):     at java.lang.Thread.run(Thread.java:1020)
06-18 22:46:45.095: E/AndroidRuntime(1453): Caused by: java.lang.NullPointerException
06-18 22:46:45.095: E/AndroidRuntime(1453):     at de.vogella.android.locationapi.simple.RegisterUsers$CreateNewCustomer.doInBackground(RegisterUsers.java:136)
06-18 22:46:45.095: E/AndroidRuntime(1453):     at de.vogella.android.locationapi.simple.RegisterUsers$CreateNewCustomer.doInBackground(RegisterUsers.java:1)
06-18 22:46:45.095: E/AndroidRuntime(1453):     at android.os.AsyncTask$2.call(AsyncTask.java:252)
06-18 22:46:45.095: E/AndroidRuntime(1453):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
06-18 22:46:45.095: E/AndroidRuntime(1453):     ... 4 more

解决方案

You need change this

params.add(new BasicNameValuePair("name",name)); 
params.add(new BasicNameValuePair("surname",surname));

And It must be the same as in php like this

params.add(new BasicNameValuePair("C_Name",name)); 
params.add(new BasicNameValuePair("C_Surname",surname));

这篇关于试图插入使用Android和PHP MYSQL时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆