php调用成员函数错误,php - 将帐户信息更新到数据库中不起作用,PHP错误:“调用成员函数” - SO中文参考 - www.soinside.com...

我正在开发一个使用具有SharedPreferences登录名的应用程序。下一步是添加一个活动,如果用户要从应用程序中更新其信息,则该活动将更新数据库。我已经编写了代码,但是当我运行它时,JSON似乎有问题。我已经检查过使用断点,并且值还可以,但是“ s =”部分显示Error: Call to a member function bind_param() on bool in C:\Users\wamp64\www\App.php on line 189因此,我进入了php并检查了第189行,但没有发现任何错误。我使用了用于登录/注册的确切语法,它的工作原理很吸引人。谢谢!

首先,我将在.php中添加第189行:$stmt->bind_param("ssss", $nume, $prenume, $email, $telefon);

UpdateInfo.javaclass ActualizareUser extends AsyncTask {

@Override

protected String doInBackground(Void... voids) {

//creating request handler object

RequestHandler requestHandler = new RequestHandler();

//creating request parameters

HashMap params = new HashMap<>();

params.put("nume", Nume);

params.put("email", Email);

params.put("prenume", Prenume);

params.put("telefon", Telefon);

params.put("id", id);

//returing the response

return requestHandler.sendPostRequest(URLs.URL_UPDATE_USER, params);

}

@Override

protected void onPreExecute() {

super.onPreExecute();

//displaying the progress bar while user registers on the server

}

@Override

protected void onPostExecute(String s) {

super.onPostExecute(s);

//hiding the progressbar after completion

try {

//converting response to json object

JSONObject objs = new JSONObject(s);

//if no error in response

if (!objs.getBoolean("error")) {

Toast.makeText(getApplicationContext(), objs.getString("message"), Toast.LENGTH_SHORT).show();

//getting the user from the response

JSONObject userJson = objs.getJSONObject("user");

//creating a new user object

User user = new User(

userJson.getString("Nume"),

userJson.getString("Prenume"),

userJson.getString("Adresa_mail"),

userJson.getString("Numar_telefon"),

userJson.getString("Parola"),

userJson.getInt("ID_UTILIZ")

);

//storing the user in shared preferences

SharedPrefManager.getInstance(getApplicationContext()).userLogin(user);

finish();

startActivity(new Intent(getApplicationContext(), Profil.class));

} else {

Toast.makeText(getApplicationContext(), "A aparut o eroare", Toast.LENGTH_SHORT).show();

}

} catch (JSONException e) {

e.printStackTrace();

}

}

}

App.php,更新部分:case 'updateuser':

if(isTheseParametersAvailable(array('nume','email','prenume', 'telefon', 'id'))){

$prenume = $_POST["prenume"];

$nume =$_POST["nume"];

$email =$_POST["email"];

$telefon =$_POST["telefon"];

$id =$_POST["id"];

$stmt = $conn->prepare("SELECT ID_UTILIZ FROM informatii_persoane WHERE ID_UTILIZ = ?");

$stmt->bind_param("s", $id);

$stmt->execute();

$stmt->store_result();

if($stmt->num_rows < 1){

$response['error'] = true;

$response['message'] = 'Nu se poate identifica un cont';

$stmt->close();

}else{

$stmt = $conn->prepare("UPDATE INTO informatii_persoane (Nume, Prenume, Adresa_mail, Numar_telefon) VALUES (?, ?, ?, ?)");

$stmt->bind_param("ssss", $nume, $prenume, $email, $telefon);

if($stmt->execute()){

$stmt = $conn->prepare("SELECT ID_UTILIZ, Nume, Prenume, Adresa_mail, Numar_telefon, Parola FROM informatii_persoane WHERE Adresa_mail = ?");

$stmt->bind_param("s",$email);

$stmt->execute();

$stmt->bind_result($id, $nume, $prenume, $email, $telefon, $parola);

$stmt->fetch();

$user = array(

'Nume'=>$nume,

'Prenume'=>$prenume,

'Adresa_mail'=>$email,

'Numar_telefon'=>$telefon,

'Parola'=>$parola,

'ID_UTILIZ'=>$id

);

$stmt->close();

$response['error'] = false;

$response['message'] = 'Date actualizate cu success';

$response['user'] = $user;

}

}

}else{

$response['error'] = true;

$response['message'] = 'A aparut o eroare';

}

break;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值