bug_47415.phpt 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. Bug #47415 PDO_Firebird segfaults when passing lowercased column name to bindColumn()
  3. --SKIPIF--
  4. <?php extension_loaded("pdo_firebird") or die("skip"); ?>
  5. <?php function_exists("ibase_query") or die("skip"); ?>
  6. --FILE--
  7. <?php
  8. require("testdb.inc");
  9. $dbh = new PDO("firebird:dbname=$test_base",$user,$password) or die;
  10. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  11. $value = '2';
  12. @$dbh->exec('DROP TABLE testz');
  13. $dbh->exec('CREATE TABLE testz (idx int NOT NULL PRIMARY KEY, txt VARCHAR(20))');
  14. $dbh->exec('INSERT INTO testz VALUES(0, \'String0\')');
  15. $dbh->commit();
  16. $query = "SELECT idx, txt FROM testz ORDER by idx";
  17. $idx = $txt = 0;
  18. $stmt = $dbh->prepare($query);
  19. $stmt->bindColumn('idx', $idx);
  20. $stmt->bindColumn('txt', $txt);
  21. $stmt->execute();
  22. $rows = $stmt->fetch(PDO::FETCH_BOUND);
  23. var_dump($stmt->fetch());
  24. var_dump($stmt->rowCount());
  25. $stmt = $dbh->prepare('DELETE FROM testz');
  26. $stmt->execute();
  27. $dbh->commit();
  28. $dbh->exec('DROP TABLE testz');
  29. unset($stmt);
  30. unset($dbh);
  31. ?>
  32. --EXPECT--
  33. bool(false)
  34. int(1)