Zend_Db_Adapter_MySQLi, bug met bindValue?
kees Schepers
14/10/2009 10:46:00Hallo 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:
Maar ik krijg het niet werkend. Doe ik het als volgt wel:
Maargoed, meerdere mensen die hier problemen mee gehad hebben? Of zie ik iets over het hoofd?
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)
1
2
3
4
5
2
3
4
5
<?php
$sql = 'SELECT * FROM test WHERE col = :var';
$stmt = $database->prepare($sql);
$stmt->bindValue(':var','lala');
?>
$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)
1
2
3
4
5
2
3
4
5
<?php
$sql = 'SELECT * FROM test WHERE col = ?';
$stmt = $database->prepare($sql);
$stmt->bindValue(1,'lala');
?>
$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
07/01/2025 04:20:37kees Schepers
14/10/2009 11:23:00Stomme fout van mij, haha MySQLi ondersteund geen named adapters:
Zend/Db/Statement.php::bindParam (regel 249)
Zend/Db/Adapter/Mysqli.php (regel 524)
Enigste wat ik jammer vind is dat Zend geen exception gooit dat named parameters niet ondersteund zijn..
Zend/Db/Statement.php::bindParam (regel 249)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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;
}
}
?>
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)
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