Wen Teng
Wen Teng

Reputation: 1

Database cannot be connected

I m trying to create an application using eclipse. in the user-register page , after I entered all the required data, and click the submit button, the message " Unfortunately, your eclipse has been stopped". what does this message means and how to solve it?

 public class UserRegister extends Activity {

JSONParser jsonParser = new JSONParser();
EditText inputName;
EditText inputUsername;
EditText inputEmail;
EditText inputPassword;
RadioButton button1;
RadioButton button2;
Button button3;
int success = 0;

// url to create new product
private static String url_register_user = "http://192.168.1.100/MEMS/add_user.php";

// JSON Node names
private static final String TAG_SUCCESS = "success";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_user_register);

    // Edit Text
    inputName = (EditText) findViewById(R.id.nameTextBox);
    inputUsername = (EditText) findViewById(R.id.usernameTextBox);
    inputEmail = (EditText) findViewById(R.id.emailTextBox);
    inputPassword = (EditText) findViewById(R.id.pwTextBox);

    // Create button
    //RadioButton button1 = (RadioButton) findViewById(R.id.studButton);
    // RadioButton button2 = (RadioButton) findViewById(R.id.shopownerButton);
    Button button3 = (Button) findViewById(R.id.regSubmitButton);

    // button click event
    button3.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {

            String name = inputName.getText().toString();
            String username = inputUsername.getText().toString();
            String email = inputEmail.getText().toString();
            String password = inputPassword.getText().toString();

                   if(name.contentEquals("")||username.contentEquals("")||email.contentEquals("")||password.contentEquals(""))
            {
                AlertDialog.Builder builder = new AlertDialog.Builder(UserRegister.this);

                // 2. Chain together various setter methods to set the dialog characteristics
                builder.setMessage(R.string.nullAlert)
                   .setTitle(R.string.alertTitle);

                builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       // User clicked OK button
                   }
               });

            // 3. Get the AlertDialog from create()
            AlertDialog dialog = builder.show();
            }
            else
            {
                new RegisterNewUser().execute();
            }

        }
    });
}


       class RegisterNewUser extends AsyncTask<String, String, String>{
   protected String doInBackground(String... args) {
       String name = inputName.getText().toString();
       String username = inputUsername.getText().toString();
       String email = inputEmail.getText().toString();
       String password = inputPassword.getText().toString();

       // Building Parameters
       List<NameValuePair> params = new ArrayList<NameValuePair>();
       params.add(new BasicNameValuePair("name", name));
       params.add(new BasicNameValuePair("username", username));
       params.add(new BasicNameValuePair("email", email));
       params.add(new BasicNameValuePair("password", password));

       // getting JSON Object
       // Note that create product url accepts POST method
       JSONObject json = jsonParser.makeHttpRequest(url_register_user,
                           "GET", params);
                   // check log cat for response
       Log.d("Send Notification", json.toString());

       try
           {
                   int success = json.getInt(TAG_SUCCESS);

                   if (success == 1)
                   {
                       // successfully created product
                    Intent i = new Intent(getApplicationContext(), StudentLogin.class);
                    startActivity(i);
                    finish();
                   }

                   else
                   {
                       // failed to register

                   }
           }

            catch (Exception e)
            {
                  e.printStackTrace();
            }
            return null;
           }
                        }
                          }

My php file:

<?php

  /*
   * Following code will create a new product row
   * All product details are read from HTTP Post Request
   */

  // array for JSON response
  $response = array();
   // include db connect class
   require_once __DIR__ . '/db_connect.php';

// connecting to db
     $db = new DB_CONNECT();

     // check for required fields
     if (isset($_GET['name']) && isset($_GET['username']) && isset($_GET['email']) &&             isset($_GET['password'])) {

$name = $_GET['name'];
$username = $_GET['username'];
$email = $_GET['email'];
$password = $_GET['password'];


// mysql inserting a new row
$result = mysql_query("INSERT INTO register(name, username, email, password) VALUES('$name', '$username', '$email', '$password')");

// check if row inserted or not
if ($result) {
    // successfully inserted into database
    $response["success"] = 1;
    $response["message"] = "You are successfully registered to MEMS.";

    // echoing JSON response
    echo json_encode($response);
}
else {
    // failed to insert row
    $response["success"] = 0;
    $response["message"] = "Oops! An error occurred.";

    // echoing JSON response
    echo json_encode($response);
}
} else {
      // required field is missing
      $response["success"] = 0;
      $response["message"] = "Required field(s) is missing";

        // echoing JSON response
        echo json_encode($response);
        }
           ?>

Upvotes: 0

Views: 158

Answers (1)

Ram kiran Pachigolla
Ram kiran Pachigolla

Reputation: 21191

Change the comparision method to equals() instead of contentEquals() in your code

as The String#equals() not only compares the String's contents, but also checks if the other object is also an instance of a String. The String#contentEquals() methods only compares the contents (the character sequence) and does not check if the other object is also an instance of String. It can be anything as long as it is an implementation of CharSequence or an instance of StringBuffer.

So change your code as like this

if(name.equals("")||username.equals("")||email.equals("")||password.equals(""))
 {
     ....
}

Upvotes: 1

Related Questions