nni*_*ols 2 php zend-framework zend-db-table
我最近继承了一个使用ZF编写的应用程序,它在db中加密了各种字段.有很多模型扩展Zend_Db_Table_Abstract,其代码与此示例类似 -
<?php
class Partner extends Zend_Db_Table_Abstract {
protected $_name = 'partner', $_primary = 'id';
public function createPartner( $mobile ){
$id = $this->insert( array(
'mobile' => new Zend_Db_Expr("AES_ENCRYPT('$mobile', 'random_key')"),
'createdOn' => date('Y-m-d H:i:s', mktime())
) );
$res = $this->find($id);
return $res->current();
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我对这段代码的关注是$ mobile正在逐字传递到查询中.修改此值设置方式的最简洁方法是什么,以便它使用quoteInto或其他一些使用占位符来参数化查询的方法?
怎么样
public function createPartner( $mobile ){
$id = $this->insert( array(
'mobile' => new Zend_Db_Expr($this->getAdapter()->quoteInto("AES_ENCRYPT(?, 'random_key')", $mobile)),
'createdOn' => date('Y-m-d H:i:s', mktime())
) );
$res = $this->find($id);
return $res->current();
}
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但是我有一些问题,我错过了吗?