【发布时间】:2019-02-24 12:12:05
【问题描述】:
在laravel中执行如下查询时
$result = DB::select(
'SELECT p.f1 FROM `tab1` m
INNER JOIN `tab2` p
ON m.id= p.fk
WHERE m.good_id = :good_id AND p.good_id = :good_id LIMIT 1',
['good_id' => 12]
);
得到一个错误 SQLSTATE[HY093]: Invalid parameter number.
找到了解决办法。
我们可以添加以下代码
'options' => [
PDO::ATTR_EMULATE_PREPARES => true,
],
到 config/database.php 的 mysql 数组。
但是从安全的角度来看,使用它会有什么问题吗? https://github.com/Microsoft/msphpsql/issues/46
上述帖子中提到的问题仍然存在?
【问题讨论】: