抱歉,如果这已经被问过了。我已经看到有关静态 SQL 的答案,但在这种情况下,我想使用 PDO->prepare() 作为在运行时动态构建的查询字符串。
分解成一个简单的例子:
$TempSQL = "SELECT field1, field2, field3 FROM table WHERE ";
if ($numberParams == 1) {
$TempSQL = $TempSQL . " field1 = '$val1' ";
} else {
$TempSQL = $TempSQL . " field2 = '$val2' ";
$TempSQL = $TempSQL . " AND field3 = '$val3' ";
}
db->query($TempSQL);
如何将其重写为 db->prepare()?
我也应该即时构建 statement->execute(array(':param' => $var))) 吗?
有没有更好/更整洁的方法?