0

我正在尝试调用一个传递了变量的函数,但它不起作用。

public function Delete_Update($uid, $msg_id) 
{
    $sql = mysql_query("select uploads_grab from messages where msg_id='$msg_id' and uid_fk='$uid'");
    $roww = mysql_fetch_array($sql);
    $uploads_grab_id=$roww['uploads_grab'];
    if ($uploads_grab_id != '0') {
        $sq = mysql_query("delete from user_uploads_grab where id='$uploads_grab_id'");
    }

    $query = mysql_query("DELETE FROM `comments` WHERE msg_id_fk = '$msg_id' and cfid='$uid' ") or die(mysql_error());
    $query = mysql_query("DELETE FROM `messages` WHERE msg_id = '$msg_id' and uid_fk='$uid'") or die(mysql_error());

    after_del($uid,$msg_id,'wall_post');
    return true;           
}

在上面的代码中,我正在调用一个函数after_del($uid,$msg_id,'wall_post');,但它不起作用

after_del 函数是

class delme
   {
      function after_del($uid,$delid,$type)
      {

        $sql=mysql_query("select created from messages where msg_id='$delid' and uid_fk='$uid'");
        $roww=mysql_fetch_array($sql);
        $created=$roww['created'];
        $del_noti = mysql_query("DELETE FROM `notification` WHERE time_stamp = '$created' and owner_user_id='$uid'") or die(mysql_error());
        $del_activity = mysql_query("DELETE FROM `activity` WHERE time_stamp = '$created' and owner_user_id='$uid'") or die(mysql_error());         


      }

      }
$del_result=new delme();
4

1 回答 1

4

after_del 是否与 Delete_Update 属于同一类?如果是,那么您可以像这样访问:

$this->after_del($uid,$msg_id,'wall_post');

或者如果 after_del 在同一个类中但是是一个静态方法,那么访问如下:

self::after_del($uid,$msg_id,'wall_post');

如果在另一个类中将 after_del 定义为公共方法,则首先创建该类的对象并调用该对象的方法:

$otherClass = new OtherClass();
$otherClass->after_del($uid,$msg_id,'wall_post');

或者如果 after_del 被定义为另一个类的静态公共方法,那么这样调用它:

OtherClass::after_del($uid,$msg_id,'wall_post');
于 2012-09-15T16:36:47.260 回答