我在mysql中有一个查询zend framwork有没有其他的写这个方法
$select = $this->select ()
->where ( "phone = '" . $post ['phone'] . "'")
->where(!( "member_id != '" .$post['member_id'] . "'"));
我想要做的是更新会员的电话号码,看看数据库中是否已存在电话,任何其他方式可以有人回答
答案 0 :(得分:5)
首先,您的代码存在安全问题。始终使用安全报价:
->where("phone = ?",$post["phone"])
至于问题,您可以在表单上使用Zend_Validate_Db_NoRecordExists验证器。以下是一些有用的链接:
使用此验证器的想法是精确检查数据库中是否存在给定值,而无需对查询进行任何其他工作。
答案 1 :(得分:2)
为此,我建议你在表格上使用验证器!
示例表单:
//phone
$this->addElement('text', 'phone',
array('label' => 'Phone', 'required' => true));
$params = array(
'table' => 'User',
'field' => 'phone',
);
$this->phone->addValidator('Db_NoRecordExistPhone', false, array($params));
验证器写入将返回控件的查询应为true或false。