2015-01-15 117 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 
相關問題