sqlite3stmt_getsql_expanded.phpt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. --TEST--
  2. SQLite3Stmt::getSQL expanded test
  3. --EXTENSIONS--
  4. sqlite3
  5. --SKIPIF--
  6. <?php
  7. if (SQLite3::version()['versionNumber'] < 3014000) {
  8. die('skip SQLite < 3.14 installed, requires SQLite >= 3.14');
  9. }
  10. ?>
  11. --FILE--
  12. <?php
  13. require_once(__DIR__ . '/new_db.inc');
  14. $db->enableExceptions(true);
  15. $stmt = $db->prepare('SELECT :a, :b, ?;');
  16. $stmt->bindValue(':a', 42);
  17. $stmt->bindValue(':b', 'php');
  18. $stmt->bindValue(3, 43);
  19. echo "Getting expanded SQL statement\n";
  20. var_dump($stmt->getSQL(true));
  21. echo "Execute statement\n";
  22. var_dump($res = $stmt->execute());
  23. echo "Statement result\n";
  24. var_dump($res->fetchArray(SQLITE3_NUM));
  25. $stmt->reset();
  26. echo "Change binded values\n";
  27. $stmt->bindValue(':a', 'TEST');
  28. $stmt->bindValue(':b', '!!!');
  29. $stmt->bindValue(3, 40);
  30. echo "Getting expanded SQL statement\n";
  31. var_dump($stmt->getSQL(true));
  32. echo "Closing DB\n";
  33. var_dump($db->close());
  34. echo "Done\n";
  35. ?>
  36. --EXPECT--
  37. Getting expanded SQL statement
  38. string(21) "SELECT 42, 'php', 43;"
  39. Execute statement
  40. object(SQLite3Result)#3 (0) {
  41. }
  42. Statement result
  43. array(3) {
  44. [0]=>
  45. int(42)
  46. [1]=>
  47. string(3) "php"
  48. [2]=>
  49. int(43)
  50. }
  51. Change binded values
  52. Getting expanded SQL statement
  53. string(25) "SELECT 'TEST', '!!!', 40;"
  54. Closing DB
  55. bool(true)
  56. Done