Versio

Zend_Db_Adapter_MySQLi, bug met bindValue?

Overzicht Reageren

Kees Schepers
Moderator

kees Schepers

14/10/2009 10:46:00
Quote Anchor link
Hallo mensen,

Voor ons project hier gebruik ik nu Zend_Db met daarin de Zend_Db_MySQLi_Adapter. Nu probeer ik de volgende query te doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$sql
= 'SELECT * FROM test WHERE col = :var';
$stmt = $database->prepare($sql);
$stmt->bindValue(':var','lala');
?>


Maar ik krijg het niet werkend. Doe ik het als volgt wel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$sql
= 'SELECT * FROM test WHERE col = ?';
$stmt = $database->prepare($sql);
$stmt->bindValue(1,'lala');
?>


Maargoed, meerdere mensen die hier problemen mee gehad hebben? Of zie ik iets over het hoofd?
 
PHP hulp

PHP hulp

25/05/2012 20:01:52
Gesponsorde koppelingen:
 
Kees Schepers
Moderator

kees Schepers

14/10/2009 11:23:00
Quote Anchor link
Stomme fout van mij, haha MySQLi ondersteund geen named adapters:

Zend/Db/Statement.php::bindParam (regel 249)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
        if (($intval = (int) $parameter) > 0 && $this->_adapter->supportsParameters('positional')) {
            if ($intval >= 1 || $intval <= count($this->_sqlParam)) {
                $position = $intval;
            }
        }
else if ($this->_adapter->supportsParameters('named')) {
            if ($parameter[0] != ':') {
                $parameter = ':' . $parameter;
            }

            if (in_array($parameter, $this->_sqlParam) !== false) {
                $position = $parameter;
            }
        }

?>


Zend/Db/Adapter/Mysqli.php (regel 524)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    public function supportsParameters($type)
    {

        switch ($type) {
            case
'positional':
                return true;
            case
'named':
            default:

                return false;
        }
    }

?>


Enigste wat ik jammer vind is dat Zend geen exception gooit dat named parameters niet ondersteund zijn..
Gewijzigd op 01/01/1970 01:00:00 door kees Schepers
 



Overzicht Reageren

Get Adobe Flash player