Zend_Db_Adapter_MySQLi, bug met bindValue?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kees Schepers

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

24/04/2024 23:03:30
 
Kees Schepers

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

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.