2015-01-15 116 views
1

我试图将表单中的数据放入数据库中。但我得到一个解析错误,说它找不到函数newuserid()。该功能是获取数据库中最新用户标识的功能,并且为新用户提供+1功能。PHP调用未定义的函数newuserid()

为什么这不起作用?我似乎无法在互联网上找到任何有关此事的信息。

下面的代码片段:

/** 
     * newuserid - Creates a userid for every user, to link up to other services 
     */ 
     function newuserid() { 
      //Get latest userid 
      $q = "SELECT userid FROM blog_users ORDER BY userid DESC LIMIT 1"; 
      $latest_userid = mysqli_query($this->connection, $q); 

      $userid = $latest_userid + 1; 
      return $userid; 
     } 

     /** 
     * addNewUser - Inserts the given (username, password, email) 
     */ 
     function addNewUser($userdata){ 
      //Account 
      $username = $userdata['username']; 
      $password = $userdata['password']; 

      //Personal Information 
      $first_name = $userdata['first_name']; 
      $last_name = $userdata['last_name']; 
      $bdate = $userdata['bdate']; 

      //Address 
       $address = $userdata['address']; 
       $street_number = $userdata['street_number']; 
       $city = $userdata['city']; 
       $postal_code = $userdata['postalcode']; 

      //Phone & Email 
       $email = $userdata['email']; 
       $phone = $userdata['phone']; 

     $userid = newuserid(); 

      $q = "INSERT INTO ".TBL_USERS." VALUES ('$username', '$password', '$userid', '$first_name', '$last_name', '$bdate', '$address', '$street_number', '$city', '$postal_code', '$email', '$phone')"; 
      return mysqli_query($this->connection, $q); 
     } 

是否有人知道如何解决这个问题,或者重新编写了一块?对不起,我不知道很多关于PHP的知识,所以我可能会用错误的方法来解决某些问题。

请帮我看看这个问题。

+4

请出示使用完整和准确的错误你得到的消息! – Rizier123 2015-01-15 18:38:13

+0

完整的错误消息:致命错误:调用未定义的函数newuserid()在/var/www/vhosts/ostrealyceum.net/giel-jan.ostrealyceum.net/include/login/database.php上线143 – sloeberGJ 2015-01-15 21:51:22

+0

我的答案应该修复你的问题,如果是这样,你可以接受最有帮助的答案,并解决你的问题(只需在答案左侧选中标记)! – Rizier123 2015-01-15 21:54:29

回答

4

由于您使用$this在你的代码,我认为这些功能在一类,所以你必须也使用$this调用这样的功能:

$userid = $this->newuserid(); 
     //^^^^^ If this code is in a class you have to use $this 
相关问题