使用PHP (android app)更新用户信息


Update the user information by using PHP (android app)

我在我的android app上注册成功了,但是不知怎么的,我真的想用PHP更新我注册的用户信息。但是,我失败了。是什么问题与这个代码我工作。

<?php
    $host = 'example.com';
    $user = 'username';
    $pass = 'password';
    $db = 'database';
    $con = mysqli_connect($host, $user, $pass, $db);
    if (!$con) {
      printf("Connection failed: %s'n", mysqli_connect_error());
      exit();
    }
    $query ="UPDATE user_info VALUES (?, ?, ?, ?, ?, ?)"; // make this query into "update query"
    $statement = mysqli_prepare($con, $query);
    if($statement === FALSE){ die(mysqli_error($link)); }
    mysqli_stmt_bind_param($statement, "isssss" ,$UserID, $LastName, $FirstName, $Username, $EmailAddress, $Password);
    $LastName = $_POST["LastName"];
    $FirstName = $_POST["FirstName"];
    $Username = $_POST["Username"];
    $EmailAddress = $_POST["EmailAddress"];
    $Password = $_POST["Password"];
    mysqli_stmt_execute($statement);
    $response = array();
    $response["success"] = true;  
    echo json_encode($response);
?>
顺便说一下,我通过简化问题完成了这个问题。

你应该在绑定变量之前设置它们的值:

<?php
//I remove your credentials
$con = mysqli_connect($host, $user, $pass, $db);
if (!$con) {
  printf("Connection failed: %s'n", mysqli_connect_error());
  exit();
}
$query ="UPDATE user_info SET lastname = ? AND firstname = ? AND username = ? AND emailaddress = ? AND password = ? WHERE userid = ?"; // make this query into "update query"
$statement = mysqli_prepare($con, $query);
if($statement === FALSE){ die(mysqli_error($link)); }
$LastName = $_POST["LastName"];
$FirstName = $_POST["FirstName"];
$Username = $_POST["Username"];
$EmailAddress = $_POST["EmailAddress"];
$Password = $_POST["Password"];
mysqli_stmt_bind_param($statement, $LastName, $FirstName, $Username, $EmailAddress, $Password, $UserID);
mysqli_stmt_execute($statement);
$response = array();
$response["success"] = true;  
echo json_encode($response);

EDIT $UserID未定义。UPDATE语句完全为false