如何使用API​​ 23在android studio中的数据库中存储数据?

时间:2015-09-30 04:17:00

标签: php android

大部分时间我都没有发布任何内容,因为我可以在其他帖子中找到我需要的所有内容,但是这个人现在有几天了,你们怎么在数据库中存储任何东西?这是我的Java代码

@Override
protected Object doInBackground(Object[] params) {
   try {
            URL url = null;
            url = new URL("http://www.myserver.com/Register.php");
            HttpURLConnection conn = null;
            conn = (HttpURLConnection) url.openConnection();
            conn.setReadTimeout(CONNECTION_TIMEOUT);
            conn.setConnectTimeout(CONNECTION_TIMEOUT);
            conn.setRequestMethod("POST");
            conn.setDoInput(true);
            conn.setDoOutput(true);

            DataOutputStream os = new DataOutputStream(conn.getOutputStream());

            Uri.Builder builder = new Uri.Builder().appendQueryParameter("name", user.Name)
                                                    .appendQueryParameter("age", user.Age + "")
                                                    .appendQueryParameter("username", user.Username)
                                                    .appendQueryParameter("password", user.Password);

            String query = builder.build().getEncodedQuery();

            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));

            writer.write(query);
            writer.flush();
            writer.close();
            os.close();

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (ProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
  return null;
  }

我尝试了很多解决方案,但没有任何效果,我无法在数据库中添加任何内容。每当我找到可以提供帮助的东西时,它就已经过时了。这是php文件。谢谢。

<?php


$con = mysql_connect("hostname", "user", "passwd") or die (mysql_error());
mysql_select_db("database", $con) or die (mysql_error());

echo $name = $_POST["name"];
echo $age = $_POST["age"];
echo $username = $_POST["username"];
echo $password = $_POST["password"];


$sql_query = "insert into UserInfo values('', '$name','$age','$username','$password');";

$req = mysql_query($sql_query);
?>

我使用了mysqli,但它没有工作所以我尝试使用mysql_这里是

$statement = mysqli_prepare($con, "INSERT INTO UserInfo (name, age, username, password) VALUE (?, ?, ?, ?);");
mysqli_stmt_bind_param($statement, "siss", $name, $age, $username, $password);
mysqli_stmt_execute($statement); 
mysqli_stmt_close($statement);
mysqli_close($con);

我没有&#34; exeption&#34;或&#34;未能&#34;就是这样,我不会理解他们是什么

       E/Surface﹕ getSlotFromBufferLocked: unknown buffer: 0xab759330

有我的Android清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="app_invaders.depaname" >

<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Login"
        android:label="@string/title_activity_login" >
    </activity>
    <activity
        android:name=".Register"
        android:label="@string/title_activity_register" >
    </activity>
</application>

</manifest>

2 个答案:

答案 0 :(得分:0)

我想,您正在尝试添加ID值,

$sql_query = "insert into UserInfo values('', '$name','$age','$username','$password');";

而不是这个。试试这个,

$sql_query = "insert into UserInfo values('$name','$age','$username','$password')";

答案 1 :(得分:0)

代替写作

$sql_query = "insert into UserInfo values('', '$name','$age','$username','$password');";

尝试此代码

$Sql_Query = "INSERT INTO UserInfo (name,age,username,password) values
('".$name."','".$age."','".$username."','".$password."')";