我最近继承了一个使用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或其他一些使用占位符来参数化查询的方法?
我们公司有一个基于 php 5.6 和 mysql 构建的相当旧的应用程序。我们最近决定进行一些更改并更改其托管位置。虽然迁移过程有点痛苦,但大部分进展顺利。
新的主机提供商使用 MariaDB 而不是 MySQL。整个应用程序运行良好,除了一部分。这部分基本上是从数据库访问配置文件数据。当我们点击“我的个人资料”时,出现以下错误 -
您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行“offset asc, gmt asc”附近使用的正确语法。
我们不知道需要什么版本的 MariaDB,因为无法判断。当我们使用 MySQL 时,一切都运行良好。
任何反馈将不胜感激。TIA。
我们不确定从哪里开始,因为 php 代码没有列出任何对 MariaDB 版本的引用。