>
Olá,
Estou fazendo o curso cujo nome segue em assunto deste, está me exibindo um erro na hora em que vai fazer o insert no banco que no meu caso utilizo postgres.
Obs: Estou realizando o insert pelo navegador e o mesmo está funcionando perfeitamente, me retornando OK ou ERRO.
Segue código PHP
$nome = $_GET["nome"];
$email = $_GET["email"];
//$conn = new pg_connect("localhost", "postgres", "asd1833", "rlsystem");
$conn = pg_connect("host=localhost port=5432 dbname=rlsystem user=postgres password=asd1833");
$result = pg_query($conn, "INSERT INTO cliente (nome, email) VALUES('$nome', '$email')");
$linha = pg_affected_rows($result);
if($linha > 0){
print "OK";
}else{
print "ERRO";
}
pg_close($conn);
?>
package androidcommysql.rlsystem.com.br.androidcommysql;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class CadastroActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cadastro);
Button btnCadastro2 = (Button) findViewById(R.id.btnCadastro2);
btnCadastro2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
try {
EditText txtNome = (EditText) findViewById(R.id.edtnome);
EditText txtEmail = (EditText) findViewById(R.id.edtemail);
StringBuilder strURL = new StringBuilder();
strURL.append("http://192.168.2.104:8081/inserir.php?");
strURL.append("nome=");
strURL.append(URLEncoder.encode(txtNome.getText().toString(), "UTF-8"));
strURL.append("&email=");
strURL.append(URLEncoder.encode(txtEmail.getText().toString(), "UTF-8"));
new HttpRequest().execute(strURL.toString());
}catch (Exception ex){
}
}
});
}
//HttpRequest pode ser chamada de qualquer outro nome;
private class HttpRequest extends AsyncTask{
@Override
protected String doInBackground(String... params) {
String retorno = null;
try {
String urlHttp = params[0];
URL url = new URL(urlHttp);
HttpURLConnection http = (HttpURLConnection) url.openConnection();
//Lendo objeto
InputStreamReader ips = new InputStreamReader(http.getInputStream());
BufferedReader bfr = new BufferedReader(ips);
retorno = bfr.readLine();
} catch (Exception ex) {
}
return retorno;
}
@Override
protected void onPostExecute(String result){
if(result.equals("OK"))
{
Toast.makeText(getBaseContext(), "Cadastrado com sucesso!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getBaseContext(), "Erro ao cadastrar!", Toast.LENGTH_SHORT).show();
}
}
}
}
Olá
Ele esta cadastrando?
Quando eu faço a inserção pelo Android não insere.
Consegui aqui, não mudei absolutamente nada no código, fui mexer agora no projeto e consegui inserir o registro normalmente.