2015-09-30 50 views
1

大多數時候我不會發布任何內容,因爲我可以在其他帖子中找到我需要的所有內容,但是現在我已經有幾天了,您如何在數據庫中存儲任何內容?這是我的Java代碼如何使用API​​ 23在android studio中的數據庫中存儲數據?

@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); 

我沒有任何「exeption」或「失敗」只是和我不牛逼inderstand它們是什麼

 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> 
+0

嗨 - 它看起來像您有問題的代碼實際上是PHP代碼插入到數據庫中,事物的機器人側沒有涉及所有存儲數據(除了打網絡電話)。我建議你編輯你的問題,並添加一些數據庫位置的說明,並在你的問題中添加'php'標籤。你的標題也明確地引用了android,但是,如果你的問題與數據庫有關,android似乎不是罪魁禍首。 – jyanks

+0

'mysql_ *'已過時。嘗試使用'mysqli *' – NewUser

+0

你會得到什麼錯誤信息?你有沒有檢查你的服務器日誌? –

回答

0

我猜,你想添加的ID值,

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

,而不是這個。嘗試使用此,

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

用我的HTML公式,沒有什麼是數據庫添加。 – Lip

相關問題