需要帮助将sql_fetch_array中的值插入到函数中

时间:2014-09-27 17:18:47

标签: php mysql arrays function

如果这是一个菜鸟问题,请原谅我。

我正在尝试从文件夹中的.php文件调用公共函数delete()。

public function delete()在fileA.php

我创建了另一个文件:fileB.php并用它来调用fileA.php中的公共函数。

但是,代码似乎不起作用。

这就是我在fileB.php中所拥有的:

function crondel() {

    $sql_del2 = new Item;

    $oc_t_item_description="oc_t_item_description";

    $sql_del="SELECT * FROM $tbl_name WHERE UNIX_TIMESTAMP($expiry_date) < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY))"; 
    $result_del = mysql_query($sql_del);


    while($row = mysql_fetch_array($result_del)) {


             $itemid = $row['pk_i_id'];
             $secret = $row['s_secret'];
             //$sql_del2 = "DELETE FROM $oc_t_item_description WHERE 
                            //fk_i_item_id = '$criteria'";
             //$result_del2 = mysql_query($sql_del2);

           }

    $secret_new=$secret;
    $itemid_new=$itemid;

    $result_del2 = $sql_del2->delete( $secret_new, $itemid_new );


    }

问题是脚本已经完成,并且没有报告错误。但是,它没有产生预期的结果。

我认为问题在于将从mysql_fetch_array获取的值插入到上面调用的公共函数delete()中。

除此之外,我无法想到为什么它不起作用。 感谢任何帮助。谢谢!

/////编辑//////

这是函数:delete()

公共功能删除($ secret,$ itemId)         {             $ item = $ this-&gt; manager-&gt; findByPrimaryKey($ itemId);

        osc_run_hook('before_delete_item', $itemId);

        if( $item['s_secret'] == $secret ) {
            $this->deleteResourcesFromHD( $item['pk_i_id'] );
            Log::newInstance()->insertLog( 'item', 'delete', $itemId, $item['s_title'], $this->is_admin ? 'admin' : 'user', $this->is_admin ? osc_logged_admin_id() : osc_logged_user_id() );
            $result = $this->manager->deleteByPrimaryKey( $itemId );
            if($result!==false) {
                osc_run_hook('after_delete_item', $itemId, $item);
            }
            return $result;
        }

        return false;
    }

1 个答案:

答案 0 :(得分:0)

你可以发布delete()函数的来源吗? 无论如何,你的$ itemid和$ secret将只包含你查询的最后一行,因为你重新分配了值,之后什么都不做。我认为你这样做是为了得到所有结果:

while($row = mysql_fetch_array($result_del)) {
    $result_del2 = $sql_del2->delete( $row['s_secret'], $row['pk_i_id'] );
}

编辑:delete()不将数组作为参数,但是s_secret和pk_i_id。