bind在php中不返回任何结果

bind在php中不返回任何结果,php,bind,Php,Bind,为什么我在下面的代码中没有得到结果,并且num_rows返回0 这是我的密码: function get_user($user_id) {// This function give some data from table user with user_id try { $connection = start_service(); $user_id = sanitize_string($user_id); $stmt = $connection->pre

为什么我在下面的代码中没有得到结果,并且
num_rows
返回
0

这是我的密码:

    function get_user($user_id) {// This function give some data from table user with user_id
  try {
    $connection = start_service();
    $user_id = sanitize_string($user_id);
    $stmt = $connection->prepare(
        "SELECT user_id, name, lname, gender, password, avatar, bdate, user_group_id, status, signup_date, last_signin
        FROM user
        WHERE user_id = ?
        ");
    $stmt->bind_param("i", $user_id);
    $stmt->execute();
    $stmt->bind_result($user_id, $name, $lname, $gender, $password, $avatar, $bdate, $user_group_id, $status, $signup_date, $last_signin);
    if($stmt->num_rows){
      while($stmt->fetch()) {
        array_push($result, array(
          "user_id" => $user_id,
          "name" => $name,
          "lname" => $lname,
          "gender" => $gender,
          "password" => $password,
          "avatar" => $avatar,
          "bdate" => $bdate,
          "user_group_id" => $user_group_id,
          "status" => $status,
          "signup_date" => $signup_date,
          "last_signin" => $last_signin
          ));
      }
    } else {
      $result = false;
    }
    print $stmt->num_rows;
    $stmt->close();
    end_service();
  } catch (exception $e) {
      end_service_error();
      echo $e->getMessage(), "\n";
      throw $e;
  }
  return $result;
}

问题在哪里?我必须做些什么来解决它?

我认为在调用
mysqli\u stmt\u store\u result()
之前,您需要调用
mysqli\u stmt\u num\u rows()


谢谢,但我的问题是函数返回null。我尝试$stmt=>store_result(),但再次得到null。您确定用户ID确实有一行吗?好的,谢谢。我解决它。我必须定义一个数组(),比如:$result=array();为什么首先要返回数组?不能有多个用户具有用户ID,可以吗?此
选择是否与数据库表中的任何列匹配?
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($user_id, $name, $lname, $gender, $password, $avatar, $bdate, $user_group_id, $status, $signup_date, $last_signin);
if($stmt->num_rows){
    ...
}