这是我的函数代码
function multiple_delete($checkbox, $table = 0, $url = 0, $picture1 = 0, $picture2 = 0, $picture3 = 0){
echo $count = count($checkbox);
for( $j=0;$j<$count;$j++)
{
$delete_id = $checkbox[$j];
$query = "SELECT * FROM $table WHERE id = '$delete_id'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if( $picture1 !== 0 && $picture2 !== 0 && $picture3 !== 0)
{
$pic_1 = $picture1;
$pic_2 = $picture2;
$pic_3 = $picture3;
unlink($pic_1);
unlink($pic_2);
unlink($pic_3);
continue;
}
if( $picture1 !== 0 && $picture2 !== 0 && $picture3 == 0 )
{
$pic_1 = $picture1;
$pic_2 = $picture2;
unlink($pic_1);
unlink($pic_2);
continue;
}
}
for($i=0;$i<$count;$i++) {
$del_id = $checkbox[$i];
$sql = "DELETE FROM $table WHERE id='$del_id'";
$result_delete_data = mysql_query($sql);
}
alert('Deleted Successfully');
redirect_url($url);
return true;
}
我的问题是当我使用以下代码调用函数时。
@multiple_delete($_POST['checkbox'], 'news', 'news.php', '$row[\'pic_title\']', '$row[\'pic_brief\']', '$row[\'pic_detail\']');
三个数组变量$row['pic_title']、$row['pic_brief']、$row['pic_detail']不作为函数中的值进行分析,而只是打印字符串,因此无法获取存储在数据库中的值。例如
在第一个条件中,我定义了3个变量,
$pic_1 = $picture1;
$pic_2 = $picture2;
$pic_3 = $picture3;
$picture1、$picture2和$picture3保存我在函数中声明的值,现在当我执行类似的操作时
echo $pic_1 = $picture1;
资讯科技印刷
$row['pic_title']
我在函数中声明的确切值,而不是分析实际
upload/news/title/pic_title1.jpg
我尝试这样测试它,而不是在定义的函数中声明值,我实际上只是将三个变量的值改为
$pic_1 = $row['pic_title'];
$pic_2 = $row['pic_brief'];
$pic_3 = $row['pic_detail'];
这工作得很好,没有任何问题。为什么保存值$row['pic_title']的变量$picture1拒绝解析它并强制它只打印字符串,而如果我手动更改它,它就会工作?我哪里出错了?
除了最后三个参数之外,我在分析前三个参数时没有任何问题,它工作得非常好,我已经在许多方面对它进行了测试。我面临的唯一问题是最后三个参数
编辑:我尝试了双引号、单引号和单引号与双引号结合使用串联运算符。不带引号。没有效果。
P.S:提前谢谢