【发布时间】:2018-08-15 19:00:10
【问题描述】:
这是我的代码:
$param2 = $val2 = "";
if ($myCondition){
$parm2 = ", param2 = ?";
$val2 = "something";
}
$stmt = $dbh_conn->prepare("UPDATE myTable SET param1 = ? $param2 WHERE param3 = ?");
$stmt->execute([$val1, $val2, $val3]);
当条件为true 时,我的代码有效。当那是false 时,我该如何处理?
【问题讨论】:
-
在相同条件下构建一个
$array并传递给execute。因此,如果 IF 没有发生,则数组缺少值。 -
@IncredibleHat 我知道在问这个问题之前,你的解决方案很无聊,因为实际上有 12 个参数
:-(.. 我正在寻找一种干净的方法。但显然没有更好的方法。不管怎样,谢谢你。我想我必须同意你的想法.. -
无聊?清洁器?呵呵......我相信你可以想出一些东西......只要戴上你的“开箱即用”的帽子!但是 u_mulder 所拥有的,几乎就是大多数人用它所做的。
-
三元运算符?
-
@FunkFortyNiner 我不明白你的意思...