PHP: “...变量可以通过引用传递“,str_replace()?
2022-08-30 18:22:57
我创建了一个函数来打印一个包含变量的预准备语句 sql 字符串,基于我在另一个 StackOverflow 问题中发现的内容。
这是我的代码:
foreach($params as $idx => $param) {
if ($idx == 0) continue;
$sql = str_replace('?', "'" . $param . "'", $sql, 1);
}
printError($sql);
当我运行这个时,我得到:对于第3行。但是当我使用时Fatal error: Only variables can be passed by reference
$sql = preg_replace('/\?/', "'" . $param . "'", $sql, 1);
对于第3行,它工作正常。
任何想法为什么?