1

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 行目

何か案は?

4

2 に答える 2

0

私はそれを理解します。

$sql = new Sql($dbAdapter);

$insert = $sql->insert('security');
$insert->values(array(
        'user' => $userName,
        'ip' => '',
        'result' => 2
));
$statement = $sql->prepareStatementForSqlObject($insert);
$results = $statement->execute();
于 2013-08-08T09:53:50.343 に答える
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試すには、 change を呼び出す必要があると思います。

于 2013-08-08T08:34:44.753 に答える