用于插入/更新辅助函数的 PDO 准备语句
在传统的 MySQL 驱动场景中,dbSet() 函数是一个很有价值的工具,用于生成SET 语句。然而,当使用 PDO 准备好的语句时,需要类似的方法来保持代码的干燥性和灵活性。
PDO 准备好的语句辅助函数
以下辅助函数 dbSet( ),可以用来实现这个:
function dbSet($fields, &$values) { $set = ''; $values = array(); foreach ($fields as $field) { if (isset($_POST[$field])) { $set .= "`$field` = ?,"; $values[] = $_POST[$field]; } } return rtrim($set, ','); }
用法
考虑以下示例:
$fields = explode(" ","name surname lastname address zip fax phone date"); $_POST['date'] = $_POST['y']."-".$_POST['m']."-"$_POST['d']; $query = "UPDATE $table SET ".dbSet($fields, $values).", stamp=NOW() WHERE>
ORM 替代方案
要获得更全面的解决方案,请考虑使用 ORM(对象关系模型)映射)框架,例如 Doctrine。使用 ORM,可以大大简化数据填充:
$table = new Table(); $table->fromArray($_POST); $table->save();
PDO 扩展类
对于自定义解决方案,创建 PDO 扩展类可以提供一种便捷的方法高效处理准备好的语句查询,减少对详细的 bind_param() 调用的需要。
以上是如何为插入/更新操作创建 PDO 准备语句辅助函数?的详细内容。更多信息请关注PHP中文网其他相关文章!