php pdo 自定义函数,php – 使用PDO插入/更新帮助函数

这篇博客探讨了一个自定义的PDO类扩展,用于简化和优化数据库更新操作。通过函数dbSet处理POST数据,创建动态SQL语句,并考虑了日期格式化。作者建议使用ORM(如Doctrine)来进一步提升模型管理和数据验证的效率。代码示例中展示了如何使用这个方法进行UPDATE查询,并提及了可能的改进点和单元测试的重要性。
摘要由CSDN通过智能技术生成

我通常有一个类扩展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 id=?";

$values[] = $id;

$dbh->prepare($query);

$dbh->execute($values);

这可能不完美,可以使用调整.它考虑到$dbh是使用PDO连接设置的.在我所做的任何小的语法问题之前,这应该是正常的.

编辑

真的,我想我会去做原则ORM(或另一个ORM).当您设置模型并添加所有验证,那么它就像:

$table = new Table();

$table->fromArray($_POST);

$table->save();

这应该容易地填充内容.这当然是与ORM,如教义.

更新

对第一个代码进行了一些细微的调整,例如将isset和使用rtrim放在substr上.提供模拟PDO扩展类的工作只需布置方式即可完成,并进行一些单元测试以确保其工作.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值