我创建了一个函数,根据我在另一个StackOverflow question中找到的内容,打印一个包含变量的prepared-statement-sql-string。
下面是我的代码:
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);
对于第三行,它工作得很好。
知道为什么吗?
https://stackoverflow.com/questions/5842366
复制相似问题