/includes/database/Yflatfile.php

http://mapleleaf.googlecode.com/ · PHP · 74 lines · 68 code · 4 blank · 2 comment · 5 complexity · 56203ea19925491f0a1192912261022c MD5 · raw file

  1. <?php
  2. class Yflatfile extends YDBBase {
  3. public $lnk;
  4. protected $affected_rows;
  5. public function Yflatfile($url){
  6. $url = parse_url($url);
  7. // Decode url-encoded information in the db connection string
  8. $url['path'] = urldecode($url['path']);
  9. //Check if the database exists
  10. $dbname=substr($url['path'], 1);
  11. if(!file_exists(DB_DIR.$dbname)){
  12. $db=new Database(ROOT_DATABASE);
  13. $create_db_sql="CREATE DATABASE $dbname";
  14. if(!$db->executeQuery($create_db_sql)){
  15. die(txtdbapi_get_last_error());
  16. }
  17. }
  18. $this->lnk=new Database($dbname);
  19. }
  20. public function query($sql){
  21. if($this->lnk){
  22. $query_result=$this->lnk->executeQuery($sql);
  23. $this->affected_rows=$query_result;
  24. return $query_result;
  25. }
  26. return false;
  27. }
  28. public function escape_string($item) {
  29. return addslashes($item);
  30. }
  31. public function queryAll($sql){
  32. $query_result=$this->query($sql);
  33. if(is_object($query_result)){
  34. if($query_result->getRowCount()>0){
  35. $result_array=array();
  36. while($query_result->next()){
  37. $result_array[]=$query_result->getCurrentValuesAsHash();
  38. }
  39. return $result_array;
  40. }
  41. }
  42. return array();
  43. }
  44. public function insert_id() {
  45. return $this->lnk->getLastInsertId();
  46. }
  47. public function error() {
  48. return txtdbapi_get_last_error();
  49. }
  50. public function server_version() {
  51. return txtdbapi_version();
  52. }
  53. public function num_rows($result) {
  54. return $result->getRowCount();
  55. }
  56. public function num_fields($result) {
  57. return $result->getRowSize();
  58. }
  59. public function affected_rows() {
  60. return $this->affected_rows;
  61. }
  62. public function table_exists($table_name) {
  63. $_table=array("table"=>$table_name);
  64. $tables=$this->queryAll("LIST TABLES");
  65. return in_array($_table, $tables);
  66. }
  67. public function close() {
  68. return true;
  69. }
  70. }