fav*_*avo 6 php mysql zend-framework zend-db-table
我key在MySQL表中用作列名.
由于这是保留的,因此需要正确转义才能在查询中使用:
… WHERE `key` = 'test'
Run Code Online (Sandbox Code Playgroud)
手动这没问题,但我正在使用Zend Framework并希望它能正确处理转义,如下所示:
$table = new Application_Model_ATable();
$table->fetchRow ( $table->select()->where('key = ?','test') );
Run Code Online (Sandbox Code Playgroud)
所以问题是:
如何使用Zend_Db_Table引用/转义列名?
小智 5
那家伙实际上在这里解释了这一点,但是生病了,只是迅速把报价单拿出来了。
该表达的任何其他部分需要用引号引起来或定界,这是您的责任。例如,如果您将任何PHP变量插值到表达式中,则安全是您的责任。如果您具有作为SQL关键字的列名,则需要使用quoteIdentifier()自行分隔它们。例:
$select->where($db->quoteIdentifier('order').'=?', $myVariable)
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!!