$role->deattachPermission($permission);
要求通过引用传递查询参数。如何将值传递给函数并为其赋值?下面的例子,如果我将一个值传递给函数并尝试设置引用值,则不返回任何内容。如果我在函数之外为引用变量赋值,它会使用这些值返回数据,即使我在函数中为它们指定了其他内容。
sqlsrv_prepare
答案 0 :(得分:0)
我不完全确定它背后的原因 - 我认为它可能与范围有关 - 但你需要将查询参数变量传递给函数。
这样的事情:
function getNotes($getNotes, $note_type, $start_date, $end_date, &$noteType, &$startDate, &$endDate){
//perform query
}
如果查询参数的数量发生变化,那么维护起来有点难看并且很烦人。但是,您可以将值和查询参数分组到数组中,并将数组传递给函数。像这样:
function getNotes($getNotes, $values, $params){
foreach($params as $key => &$param){
$param = $values[$key];
}
// sqlsrv_execute
}
$values = [$note_type, $start_date, $end_date];
$params = [&$noteType, &$startDate, &$endDate];
$fetchedNotes = getNotes($getNotes, $values, $params);
我在我的用户表上尝试了类似的东西来测试它,它似乎工作正常。