Как хранить данные на базе данных в студии Android с API 23?

В большинстве случаев я ничего не публикую, потому что я могу найти все, что мне нужно, в других сообщениях, но у меня есть у меня несколько дней, как вы, ребята, хранили что-нибудь в своих базах данных? Вот мой код 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);

У меня нет никакого "исключения" или "не удалось", и я не понимаю, что они

       E/Surface﹕ getSlotFromBufferLocked: unknown buffer: 0xab759330

есть мой манифест андроида

<?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>
+1
источник поделиться
1 ответ

Я думаю, вы пытаетесь добавить значение ID в,

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

вместо этого. Попробуйте использовать это,

$sql_query = "insert into UserInfo values('$name','$age','$username','$password')";
0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос