# SQL mit Filter Event ändern

**URL:** <https://forum.shopware.com/t/sql-mit-filter-event-andern/35614>\
**Category:** Programmierung\
**Created:** [29. März 2016 um 10:40 UTC](https://forum.shopware.com/t/sql-mit-filter-event-andern/35614 "2016-03-29T10:40:52Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![martin\_brack](https://avatars.discourse-cdn.com/v4/letter/m/df705f/32.png) [@martin\_brack](https://forum.shopware.com/u/martin_brack)\
**Post date:** [29. März 2016 um 10:40 UTC](https://forum.shopware.com/t/sql-mit-filter-event-andern/35614/1 "2016-03-29T10:40:52Z")

</div>

Hallo liebe Leute,

ich würd gern neue Registrierungen von Kunden standardmässig nicht aktivieren um diese später manuell im Backend zu aktivieren.

Hab mir gedacht ich ändere dies einfach mit Hilfe des Filter Events **Shopware\_Modules\_Admin\_SaveRegisterMainDataAttributes\_FilterSql** &nbsp; direkt im SQL Statement.

Hier der Listener:

```
 &nbsp;

 public function onSaveRegisterMainData_Filter(Enlight_Event_EventArgs $arguments){
        $return = $arguments->getReturn();

        $return[0] = '
            INSERT INTO s_user
            (
                password, email, paymentID, active, accountmode,
                validation, firstlogin, sessionID, affiliate, customergroup,
                language, subshopID, referer, encoder
            )
            VALUES (?,?,?,0,?,?,NOW(),?,?,?,?,?,?,?)
        ';

        return $return;
    }

```

Ich bekomme jetzt bei der Registrierung leider folgende Fehlermeldung:

```
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in /html/shopware/engine/Library/Zend/Db/Statement/Pdo.php:228 Stack trace: #0 /html/shopware/engine/Library/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) #1 /html/shopware/engine/Library/Zend/Db/Statement.php(303): Zend_Db_Statement_Pdo->_execute(Array) #2 /html/shopware/engine/Library/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array) #3 /html/shopware/engine/Library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('\r\n I...', Array) #4 /html/shopware/engine/Library/Enlight/Components/Db/Adapter/Pdo/Mysql.php(75): Zend_Db_Adapter_Pdo_Abstract->query('\r\n I...', Array) #5 /html/shopware/engine/Shopware/Core/sAdmin.php(1737): Enlight_Components_Db_Adapter_Pdo_Mysql->query('\r\n I...', Array) #6 /html/shopware/engine/Shopware/Core/sAdmin.php(2035): sAdmin->sSaveRegisterMainD in /html/shopware/engine/Library/Zend/Db/Statement/Pdo.php on line 234
503 Service Unavailable

```

Die Anzahl der Parameter sollte eigentlich stimmen, hab das Original Statement übernommen und nur aus der 1 eine 0 gemacht.

Kann mir da jemand auf die Sprünge helfen?

Vielen Dank!

Martin

---

<div class="post-metadata">

**Author:** ![t2oh4e](https://avatars.discourse-cdn.com/v4/letter/t/a5b964/32.png) [@t2oh4e](https://forum.shopware.com/u/t2oh4e)\
**Post date:** [29. März 2016 um 12:10 UTC](https://forum.shopware.com/t/sql-mit-filter-event-andern/35614/2 "2016-03-29T12:10:01Z")

</div>

Hallo Martin,

du hast das falsche Event erwischt. Versuch mal&nbsp;Shopware\_Modules\_Admin\_SaveRegisterMainData\_FilterSql (man beachte das fehlende Attributes)

Das SQL aus dem Event das du benutzt erwartet nur einen Parameter, daher die Fehlermeldung.

---

<div class="post-metadata">

**Author:** ![martin\_brack](https://avatars.discourse-cdn.com/v4/letter/m/df705f/32.png) [@martin\_brack](https://forum.shopware.com/u/martin_brack)\
**Post date:** [29. März 2016 um 15:00 UTC](https://forum.shopware.com/t/sql-mit-filter-event-andern/35614/3 "2016-03-29T15:00:35Z")

</div>

> [@t2oh4e schrieb:](https://forum.shopware.com/profile/6202/t2oh4e "t2oh4e")
> 
> Hallo Martin,
> 
> du hast das falsche Event erwischt. Versuch mal&nbsp;Shopware\_Modules\_Admin\_SaveRegisterMainData\_FilterSql (man beachte das fehlende Attributes)
> 
> Das SQL aus dem Event das du benutzt erwartet nur einen Parameter, daher die Fehlermeldung.

Genau so ist es, vielen Dank!
