zend-insert sql不起作用



试图理解zf2。

我的代码:

$sql = new Sql($dbAdapter);
    $insert = $sql->insert('security');
    $insert->values(array(
            'user' => $userName,
            'ip' => '',
            'result' => 2
    ));
    $dbAdapter->query($insert->getSqlString(), $dbAdapter::QUERY_MODE_EXECUTE);

错误:

注意:试图引用没有特定驱动程序级别的值支持可能会在生产中引入安全漏洞环境在里面/opt/projects/my/newSymbio/current/vvendor/zendframework/zendfframework/library/Zend/Db/Adapter/Platform/Sql92.php在线80

有什么想法吗?

以下是在zf2:中插入的正确语法

   $data = array(
        ''user' => $userName,
        'ip' => '',
        'result' => '2'
    );
    $this->tableGateway->insert($data);

并且您需要获取要在其中插入数据的表的对象。

或者你正在使用的另一种方式是:

use ZendDbSqlSql;

检查您是否正在使用上面的行。并用以下代码替换您的最后一行:

$selectString = $sql->getSqlStringForSqlObject($insert);
$results = $this->dbAdapter->query($selectString, $dbAdapter::QUERY_MODE_EXECUTE);

我认为您需要调用将$dbAdapter更改为$this->dbAdapter,也可以尝试此操作。

我想明白了。
$sql = new Sql($dbAdapter);
$insert = $sql->insert('security');
$insert->values(array(
        'user' => $userName,
        'ip' => '',
        'result' => 2
));
$statement = $sql->prepareStatementForSqlObject($insert);
$results = $statement->execute();

最新更新