bug_36798.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. PDO Common: Bug #36798 (Error parsing named parameters with queries containing high-ascii chars)
  3. --EXTENSIONS--
  4. pdo
  5. --SKIPIF--
  6. <?php
  7. $dir = getenv('REDIR_TEST_DIR');
  8. if (false == $dir) die('skip no driver');
  9. require_once $dir . 'pdo_test.inc';
  10. PDOTest::skip();
  11. if (!strncasecmp(getenv('PDOTEST_DSN'), 'oci', strlen('oci'))){
  12. if (!strpos(strtolower(getenv('PDOTEST_DSN')), 'charset=we8mswin1252')) die('skip expected output valid for Oracle with WE8MSWIN1252 character set');
  13. } elseif (!strncasecmp(getenv('PDOTEST_DSN'), 'dblib', strlen('dblib'))) {
  14. die('skip not for pdo_dblib');
  15. }
  16. ?>
  17. --FILE--
  18. <?php
  19. if (getenv('REDIR_TEST_DIR') === false) putenv('REDIR_TEST_DIR='.__DIR__ . '/../../pdo/tests/');
  20. require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
  21. $db = PDOTest::factory();
  22. @$db->exec("SET NAMES 'LATIN1'"); // needed for PostgreSQL
  23. $db->exec("CREATE TABLE test (id INTEGER)");
  24. $db->exec("INSERT INTO test (id) VALUES (1)");
  25. $stmt = $db->prepare("SELECT 'Ã' as test FROM test WHERE id = :id");
  26. $stmt->execute(array(":id" => 1));
  27. $row = $stmt->fetch(PDO::FETCH_NUM);
  28. var_dump( $row );
  29. ?>
  30. --EXPECT--
  31. array(1) {
  32. [0]=>
  33. string(1) "Ã"
  34. }