execute.phpt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. --TEST--
  2. PDO_Firebird: prepare/execute/binding
  3. --EXTENSIONS--
  4. pdo_firebird
  5. --SKIPIF--
  6. <?php require('skipif.inc'); ?>
  7. --ENV--
  8. LSAN_OPTIONS=detect_leaks=0
  9. --FILE--
  10. <?php
  11. require("testdb.inc");
  12. var_dump($dbh->getAttribute(PDO::ATTR_CONNECTION_STATUS));
  13. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  14. $dbh->setAttribute(PDO::FB_ATTR_TIMESTAMP_FORMAT, '%Y-%m-%d %H:%M:%S');
  15. @$dbh->exec('DROP TABLE ddl');
  16. $dbh->exec("CREATE TABLE ddl (id SMALLINT NOT NULL PRIMARY KEY, text VARCHAR(32),
  17. datetime TIMESTAMP DEFAULT '2000-02-12' NOT NULL)");
  18. $dbh->exec("INSERT INTO ddl (id,text) VALUES (1,'bla')");
  19. $s = $dbh->prepare("SELECT * FROM ddl WHERE id=? FOR UPDATE");
  20. $id = 0;
  21. $s->bindParam(1,$id);
  22. $var = null;
  23. $s->bindColumn("TEXT",$var);
  24. $id = 1;
  25. $s->execute();
  26. $s->setAttribute(PDO::ATTR_CURSOR_NAME, "c");
  27. var_dump($id);
  28. var_dump($s->fetch());
  29. var_dump($var);
  30. var_dump($dbh->exec("UPDATE ddl SET id=2 WHERE CURRENT OF c"));
  31. var_dump($s->fetch());
  32. unset($s);
  33. unset($dbh);
  34. echo "done\n";
  35. ?>
  36. --EXPECT--
  37. bool(true)
  38. int(1)
  39. array(6) {
  40. ["ID"]=>
  41. int(1)
  42. [0]=>
  43. int(1)
  44. ["TEXT"]=>
  45. string(3) "bla"
  46. [1]=>
  47. string(3) "bla"
  48. ["DATETIME"]=>
  49. string(19) "2000-02-12 00:00:00"
  50. [2]=>
  51. string(19) "2000-02-12 00:00:00"
  52. }
  53. string(3) "bla"
  54. int(1)
  55. bool(false)
  56. done