zend框架中的mysql查询需要一些提示

时间:2011-06-16 09:28:26

标签: php mysql zend-framework

我在mysql中有一个查询zend framwork有没有其他的写这个方法

$select = $this->select ()
               ->where ( "phone =  '" . $post ['phone'] . "'")
               ->where(!( "member_id != '" .$post['member_id'] . "'"));

我想要做的是更新会员的电话号码,看看数据库中是否已存在电话,任何其他方式可以有人回答

2 个答案:

答案 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。