Annotation of embedaddon/php/ext/pdo/tests/bug_43130.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: PDO Common: Bug #43130 (Bound parameters cannot have - in their name)
! 3: --SKIPIF--
! 4: <?php # vim:ft=php
! 5: if (!extension_loaded('pdo')) die('skip');
! 6: $dir = getenv('REDIR_TEST_DIR');
! 7: if (false == $dir) die('skip no driver');
! 8: if (!strncasecmp(getenv('PDOTEST_DSN'), 'sqlite', strlen('sqlite'))) die('skip not relevant for sqlite driver');
! 9: if (!strncasecmp(getenv('PDOTEST_DSN'), 'pgsql', strlen('pgsql'))) die('skip not relevant for pgsql driver');
! 10: if (!strncasecmp(getenv('PDOTEST_DSN'), 'oci', strlen('oci'))) die('skip not relevant for oci driver - Hyphen is not legal for bind names in Oracle DB');
! 11: require_once $dir . 'pdo_test.inc';
! 12: PDOTest::skip();
! 13: ?>
! 14: --FILE--
! 15: <?php
! 16: if (getenv('REDIR_TEST_DIR') === false) putenv('REDIR_TEST_DIR='.dirname(__FILE__) . '/../../pdo/tests/');
! 17: require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
! 18: $db = PDOTest::factory();
! 19:
! 20: if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql')
! 21: $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);
! 22:
! 23: $db->exec("CREATE TABLE test (a varchar(100), b varchar(100), c varchar(100))");
! 24:
! 25: for ($i = 0; $i < 5; $i++) {
! 26: $db->exec("INSERT INTO test (a,b,c) VALUES('test".$i."','".$i."','".$i."')");
! 27: }
! 28:
! 29: $stmt = $db->prepare("SELECT a FROM test WHERE b=:id-value");
! 30: $stmt->bindParam(':id-value', $id);
! 31: $id = '1';
! 32: $stmt->execute();
! 33: var_dump($stmt->fetch(PDO::FETCH_COLUMN));
! 34: ?>
! 35: --EXPECTF--
! 36: Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in %s on line %d
! 37:
! 38: Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number in %s on line %d
! 39: bool(false)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>