我目前正在开发一个应用程序,它从数据库中提取JSON,然后将新用户添加到数组并将其作为JSON返回。当我尝试运行我的addFriend()函数时,我得到了" 调用未定义函数userExists()"错误。我似乎无法弄明白为什么。
public function userExists($user = null){
if(is_numeric($user)){
$test = $this->_db->get('members', array('ID', '=', $user));
if($test->count()) {
return true;
}
}
return false;
}
public function addFriend($friend){
if(is_numeric($friend)){
if( userExists($friend) ){
if(hasFriends()){
$friendsList = getFriends();
$friendsList[] = $friend;
}else{
$friendsList = array($friend);
}
}
}
return false;
}
我正在使用我调用查询并建立连接的PDO类,这似乎工作正常。 count()
只返回rowCount()
。
我知道它会成为我错过的小事,但我们将不胜感激!
答案 0 :(得分:2)
如果你在课堂上,请替换
if( userExists($friend) ){
与
if( $this->userExists($friend) ){
基本上要引用类中的任何内容,将$this->
附加到您正在调用的任何内容,属性,函数等。
它告诉班级实际使用什么,即它自己的功能或它自己的属性。
在那个注释中,查看代码的其余部分,而不是使用变量,我建议创建和使用类的属性。
例如,您的$friendsList
函数中有一个名为addFriend
的变量。使用名为$friendList
的属性声明类可能更好:
class someThing{
public $friendlist;
// etc
}
然后在您的函数中,添加或删除该属性中的数据,如下所示:
if( userExists($friend) ){
$this->friendsList = getFriends();
$this->friendsList[] = $friend;
}else{
$this->friendsList = array($friend);
}
通过这种方式,一旦您分配了值,它们就会存在,并且可以根据需要使用任何其他调用或函数。