簡體   English   中英

在php中的公共函數中調用函數

[英]call a function inside a public function in php

我正在嘗試通過傳遞的變量來調用函數,但無法正常工作。

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();

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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM