You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.3 KiB

  1. --TEST--
  2. Test sqlite_last_error() function : basic functionality
  3. --SKIPIF--
  4. <?php if (!extension_loaded("sqlite")) print "skip sqlite extension not loaded"; ?>
  5. --FILE--
  6. <?php
  7. /* Prototype : int sqlite_last_error(resource db)
  8. * Description: Returns the error code of the last error for a database.
  9. * Source code: ext/sqlite/sqlite.c
  10. * Alias to functions:
  11. */
  12. echo "*** Testing sqlite_last_error() : basic functionality ***\n";
  13. // set up variables
  14. $query = 'CREATE TAB LE foobar (id INTEGER PRIMARY KEY, name CHAR(255));';
  15. $query_ok = 'CREATE TABLE foobar (id INTEGER, name CHAR(255));';
  16. // procedural
  17. $db = sqlite_open(':memory:');
  18. var_dump( sqlite_last_error($db) === SQLITE_OK );
  19. sqlite_exec($db, $query);
  20. var_dump( sqlite_last_error($db) === SQLITE_ERROR );
  21. sqlite_exec($db, $query_ok);
  22. var_dump( sqlite_last_error($db) === SQLITE_OK );
  23. sqlite_close($db);
  24. // oo-style
  25. $db = new SQLiteDatabase(':memory:');
  26. $db->queryExec($query);
  27. var_dump( $db->lastError() === SQLITE_ERROR );
  28. $db->queryExec($query_ok);
  29. var_dump( $db->lastError() === SQLITE_OK );
  30. ?>
  31. ===DONE===
  32. --EXPECTF--
  33. *** Testing sqlite_last_error() : basic functionality ***
  34. bool(true)
  35. Warning: sqlite_exec(): near "TAB": syntax error in %s on line %d
  36. bool(true)
  37. bool(true)
  38. Warning: SQLiteDatabase::queryExec(): near "TAB": syntax error in %s on line %d
  39. bool(true)
  40. bool(true)
  41. ===DONE===