bug44327.phpt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. --TEST--
  2. Bug #44327 (PDORow::queryString property & numeric offsets / Crash)
  3. --SKIPIF--
  4. <?php
  5. require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc');
  6. require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
  7. MySQLPDOTest::skip();
  8. $db = MySQLPDOTest::factory();
  9. ?>
  10. --FILE--
  11. <?php
  12. require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
  13. $db = MySQLPDOTest::factory();
  14. $stmt = $db->prepare("SELECT 1 AS \"one\"");
  15. $stmt->execute();
  16. $row = $stmt->fetch(PDO::FETCH_LAZY);
  17. var_dump($row);
  18. var_dump($row->{0});
  19. var_dump($row->one);
  20. var_dump($row->queryString);
  21. print "----------------------------------\n";
  22. @$db->exec("DROP TABLE test");
  23. $db->exec("CREATE TABLE test (id INT)");
  24. $db->exec("INSERT INTO test(id) VALUES (1)");
  25. $stmt = $db->prepare("SELECT id FROM test");
  26. $stmt->execute();
  27. $row = $stmt->fetch(PDO::FETCH_LAZY);
  28. var_dump($row);
  29. var_dump($row->queryString);
  30. @$db->exec("DROP TABLE test");
  31. print "----------------------------------\n";
  32. $stmt = $db->prepare('foo');
  33. @$stmt->execute();
  34. $row = $stmt->fetch();
  35. var_dump($row->queryString);
  36. ?>
  37. --EXPECTF--
  38. object(PDORow)#%d (2) {
  39. ["queryString"]=>
  40. string(17) "SELECT 1 AS "one""
  41. ["one"]=>
  42. string(1) "1"
  43. }
  44. string(1) "1"
  45. string(1) "1"
  46. string(17) "SELECT 1 AS "one""
  47. ----------------------------------
  48. object(PDORow)#%d (2) {
  49. ["queryString"]=>
  50. string(19) "SELECT id FROM test"
  51. ["id"]=>
  52. string(1) "1"
  53. }
  54. string(19) "SELECT id FROM test"
  55. ----------------------------------
  56. Notice: Trying to get property 'queryString' of non-object in %s on line %d
  57. NULL