如何在Zend框架中绑定和使用LIKE

问题描述 投票:2回答:1

我试图进行查询,其中有一个绑定和一个LIKE。查询本身,如果我更改1的工作位置,所以它是绑定和查询的问题。

有人可以帮我一把:

$vendor = $this->fetchAll(
            $this->select()
                ->setIntegrityCheck(false)
                ->from('vendor', array('vendor_id'))
                ->join('user', 'vendor_user_id = user_id', array('user_id','user_name'))
                ->where("user_name LIKE (':keyword%')")
                ->limit(10)
                ->bind(array(
                    'keyword' => $keyword,
                ))
        );

我试图为关键字“蛋糕”得到这样的东西

.
.
.
WHERE user_name LIKE ('Cake%')
LIMIT 10
php zend-framework prepared-statement sql-like
1个回答
2
投票

通常,%百分比不会被转义。所以你可以在你的bind函数中使用它或直接使用where

$vendor = $this->fetchAll(
            $this->select()
                ->setIntegrityCheck(false)
                ->from('vendor', array('vendor_id'))
                ->join('user', 'vendor_user_id = user_id', array('user_id','user_name'))
                ->where("user_name LIKE (':keyword')")
                ->limit(10)
                ->bind(array(
                    'keyword' => $keyword . '%',
                ))
        );

或者不使用bind

->where('user_name LIKE ?', $keyword.'%');
© www.soinside.com 2019 - 2024. All rights reserved.