考虑到传统普通 MySQL 驱动程序的局限性,我们寻求一种解决方案来创建利用 PDO 准备语句的插入/更新辅助函数PDO 准备好的语句的功能。
准备好的语句助手函数
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>
此辅助函数提供了一种使用 PDO 准备好的语句插入数据的简单方法。它消除了直接字符串连接的需要,从而减少了代码重复并提高了安全性。
替代解决方案:对象关系映射 (ORM)
要获得更全面的解决方案,考虑使用像 Doctrine 这样的 ORM。这种方法为管理数据库实体提供了一个直观的界面,允许您使用最少的代码执行保存数据等操作:
$table = new Table(); $table->fromArray($_POST); $table->save();
通过合并 ORM 解决方案,您可以简化数据库操作并在您的数据库中强制执行数据验证。模型。
以上是如何使用 PDO 准备语句创建安全插入/更新辅助函数?的详细内容。更多信息请关注PHP中文网其他相关文章!