function db_connect() {
   $result = new mysqli('localhost', 'bm_user', 'password', 'books');
   if (!$result) {
     throw new Exception('Could not connect to database server');
   } else {
     return $result;
   }
}
function register($username, $email, $password) {
// register new person with db
// return true or error message  // connect to db
  $conn = db_connect();  // check if username is unique
  $result = $conn->query("select * from user where username='".$username."'");
  if (!$result) {
    throw new Exception('Could not execute query');
  }  if ($result->num_rows>0) {
    throw new Exception('That username is taken - go back and choose another one.');
  }  // if ok, put in db
  $result = $conn->query("insert into user values
                         ('".$username."', sha1('".$password."'), '".$email."')");
  if (!$result) {
    throw new Exception('Could not register you in database - please try again later.');
  }  return true;
}请问各位高手,第二个函数register($username, $email, $password)中的变量$result和第一个函数中return的$result是不是同一个。如果不是,那第一个函数return是不是仅仅返回$result的值,而不是变量return?

解决方案 »

  1.   

    db_connect() 這個函數返回的是一個類似的#12這樣的值
    register 這個返回是true
      

  2.   

    第一个仅仅返回  new mysqli('localhost', 'bm_user', 'password', 'books');   这个东西
      

  3.   

    哦,不好意思,其实这个问题应该是变量作用域的问题,我自己刚刚写了代码测试。第二个函数里面的$result跟第一个函数里面的$result不是同一个,虽然以上两位没有回到我想要的,但是还是感谢!
      

  4.   

    第一个返回的是资源句柄
    第二个返回的是Boolean值True
      

  5.   

    第一个返回的是数据库操作
    第二个返回的为Boolean值