试图理解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/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Platform/Sql92.php 在第80行
任何想法?
答案 0 :(得分:0)
这是zf2中插入的正确语法:
$data = array(
''user' => $userName,
'ip' => '',
'result' => '2'
);
$this->tableGateway->insert($data);
并且您需要获取要在哪个表中插入数据的表的对象。
或者您正在使用的另一种方式是:
use Zend\Db\Sql\Sql;
检查您是否正在使用上线。并使用以下代码替换您的最后一行:
$selectString = $sql->getSqlStringForSqlObject($insert);
$results = $this->dbAdapter->query($selectString, $dbAdapter::QUERY_MODE_EXECUTE);
我认为您需要将$dbAdapter
更改为$this->dbAdapter
并尝试此操作。
答案 1 :(得分:0)
$sql = new Sql($dbAdapter);
$insert = $sql->insert('security');
$insert->values(array(
'user' => $userName,
'ip' => '',
'result' => 2
));
$statement = $sql->prepareStatementForSqlObject($insert);
$results = $statement->execute();