pecl_bug_5802.phpt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. --TEST--
  2. PDO MySQL PECL Bug #5802 (bindParam/bindValue retain the is_null flag)
  3. --SKIPIF--
  4. <?php # vim:ft=php:
  5. if (!extension_loaded('pdo') || !extension_loaded('pdo_mysql')) die('skip not loaded');
  6. require dirname(__FILE__) . '/config.inc';
  7. require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
  8. PDOTest::skip();
  9. ?>
  10. --FILE--
  11. <?php
  12. require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
  13. $db = PDOTest::test_factory(dirname(__FILE__). '/common.phpt');
  14. $db->exec('create table test ( bar char(3) NULL )');
  15. $stmt = $db->prepare('insert into test (bar) values(:bar)') or var_dump($db->errorInfo());
  16. $bar = 'foo';
  17. $stmt->bindParam(':bar', $bar);
  18. $stmt->execute() or var_dump($stmt->errorInfo());
  19. $bar = null;
  20. $stmt->bindParam(':bar', $bar);
  21. $stmt->execute() or var_dump($stmt->errorInfo());
  22. $bar = 'qaz';
  23. $stmt->bindParam(':bar', $bar);
  24. $stmt->execute() or var_dump($stmt->errorInfo());
  25. $stmt = $db->prepare('select * from test') or var_dump($db->errorInfo());
  26. if($stmt) $stmt->execute();
  27. if($stmt) var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
  28. print "done!";
  29. ?>
  30. --CLEAN--
  31. <?php
  32. require dirname(__FILE__) . '/mysql_pdo_test.inc';
  33. $db = MySQLPDOTest::factory();
  34. $db->exec('DROP TABLE IF EXISTS test');
  35. ?>
  36. --EXPECT--
  37. array(3) {
  38. [0]=>
  39. array(1) {
  40. ["bar"]=>
  41. string(3) "foo"
  42. }
  43. [1]=>
  44. array(1) {
  45. ["bar"]=>
  46. NULL
  47. }
  48. [2]=>
  49. array(1) {
  50. ["bar"]=>
  51. string(3) "qaz"
  52. }
  53. }
  54. done!