2016-04-13 10 views
0

Android stüdyo kullanıyorum ve bir veritabanına bağlanıyorum. Veritabanından bilgi almayı başardım ve gayet iyi çalışan bir oturum açma özelliği oluşturdum. Şimdi bir kayıt özelliği yaratmaya çalışıyorum. Kullanıcıyı kaydetmek için sadece kullanıcı adı, soyadı, kullanıcı adı ve şifre girilmelidir. Basitleştirilmiş kodlamadan bir eğiticiyi takip etmeye çalışıyorum ama bir sebepten işe yaramayacağım. bir php script döndürülür ama benim koduyla tost mesajı sadece bu ben bu özelliğiPHP Eklemek için komut dosyası yalnızca <br /> döndürüyor ve verileri veritabanına eklemiyor

<?php 

$forename = $_GET['forename']; 
$surname = $_GET['surname']; 
$username = $_GET['username']; 
$password = $_GET['password']; 
$dob = $_GET['dob']; 

if($forename == '' || $surname == '' || $username == '' || $password == '' || $dob == ''){ 
echo 'please fill all values'; 
}else{ 
require_once('dbConnect.php'); 
$sql = "SELECT * FROM users WHERE username='$username'"; 

$check = mysqli_fetch_array(mysqli_query($con,$sql)); 

if(isset($check)){ 
echo 'username already exist'; 
}else{ 
$sql = "INSERT INTO users (forename,surname,username,password,dob) VALUES('$forename','$surname','$username','$password','$dob')"; 
if(mysqli_query($con,$sql)){ 
echo 'successfully registered'; 
}else{ 
echo 'oops! Please try again!'; 
} 
} 
mysqli_close($con); 
} 
?> 
için kullanıyorum php script
görüntüler eğer kodunda bir tost bir hata mesajı göstermek için kullanılıyor

Ve bu uygulama içinde benim java koduyla ilgili kısımları ise

@Override 
    public void onClick(View v){ 
     if(v == buttonReg){ 
      registerUser(); 
     } 
    } 

public void registerUser(){ 

     String forename = eTxtForename.getText().toString().trim().toLowerCase(); 
     String surname = eTxtSurname.getText().toString().trim().toLowerCase(); 
     String username = eTxtUserName.getText().toString().trim().toLowerCase(); 
     String password = eTxtPass.getText().toString().trim().toLowerCase(); 

     register(forename, surname, username, password); 
    } 
private void register(String forename, String surname, String username, String password){ 
     String urlSuffix = "?forename="+forename+"&surname="+surname+"&username="+username+"&password="+password; 
     class RegisterUser extends AsyncTask<String, Void, String>{ 

      ProgressDialog loading; 

      @Override 
      protected void onPreExecute(){ 
       super.onPreExecute(); 
       loading = ProgressDialog.show(RegisterActivity.this, "Please Wait", null, true, true); 
      } 

      @Override 
      protected void onPostExecute(String s){ 
       super.onPostExecute(s); 
       loading.dismiss(); 
       Log.d("From s", s); 
       Toast.makeText(getApplicationContext(), s, Toast.LENGTH_LONG).show(); 
      } 

      @Override 
      protected String doInBackground(String... params){ 
       String s = params[0]; 
       BufferedReader bufferedReader = null; 
       try{ 
        URL url = new URL(Config.URL_REGISTER+s); 
        HttpURLConnection con = (HttpURLConnection) url.openConnection(); 
        bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream())); 

        String result; 
        result = bufferedReader.readLine(); 

        return result; 
       }catch (Exception e){ 
        return null; 
       } 
      } 
     } 

     RegisterUser ru = new RegisterUser(); 
     ru.execute(urlSuffix); 

    } 

Bunu görmen gereken, ama başka bir şey eklemek gerekirse bana bildirin olacak her şey olduğunu düşünüyorum

DÜZENLEME: Gibi önerdiğim hatanın ne olduğunu görmek için bir istek göndermek için HttpRequester kullandım. Hata söyler:

Uyarı: mysqli_fetch_array() parametresi 1 mysqli_result için boolean 14

için satır hattında /home/u613295501/public_html/register.php verilen bekler

$check = mysqli_fetch_array(mysqli_query($con,$sql)); 

cevap

0


görüntülenen bu hat bir kukla olsun isteği göndermek için krom deposunda sonrası adam gibi .... bir get isteği gönderen kullanmak zorunda ve kontrol edecek bir php hata olduğunu tam hata ... umarım ben

0

Bu yüzden bir aptal olduğumda tablonun adını user_info'ya bir süre değiştirdim ve tamamen unutmuşum. Çalışmayı deneyen herkese ve özellikle kukla bir istek göndermeden beri karna sayesinde teşekkür ediyorum. Neyin yanlış olduğunu anlamam için bana yardımcı oldu

İlgili konular