Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][MySQL][Z] Firebird [NA] MySQL
Forum PHP.pl > Forum > Przedszkole
_Martin_
Witak.

Mam taki problemik sciągłem skrypt dość rozwinięty bardzo mi się spodobał, ale jest na bazach danych Firebird, nie miałem nigdy do czynienia z nimi i uważam że nie jest mi to potrzebne i dość szybko nie bedzie.

Jest możliwość przerobienia go na Sql
Niby tam jest opcja wyboru Firebird lub mysql ale nie ma class napisanych moze ktoś by mi coś doradził pomógł?


  1. 1.
  2. //Configuring database connection info
  3. define("DB_ENGINE", "Firebird"); // or MYSQL
  4. define("DB_HOSTNAME", "localhost");
  5. define("DB_USERNAME", "root");
  6. define("DB_PASSWORD", "");
  7. define("DB_DATABASE_NAME", "dotk.gdb");
  8. fine("DB_DATABASE_PATH", "../");
  9. define("DB_PREFIX", "");
  10. define("DB_PERSISTENT_CONNECTION", true
  11.  
  12.  
  13.  
  14.  
  15. );





A Klasyy są kilku plikach np:
Firebird.DataAccess.php, FirebirdResultSet.class.php,

Widać ze skrypt napisany pod dwie bazy ale jak ta drugą uruchomić do pomocy dodam to:

Są jakieś klasy mysql zeby mozna było podpiąc

Przykładowa klasa Firebird z skryptu:



  1. /** Connection function
  2.   * Establishes a connection to Firebird Database.
  3.   * @Static params (defined in config.php)
  4.   */
  5. function connect() {
  6.  
  7. if (DB_PERSISTENT_CONNECTION) {
  8. $this->connectionLink = ibase_pconnect(DB_HOSTNAME.":".DB_DATABASE_PATH.DB_DATABASE_NAME, DB_USERNAME, DB_PASSWORD)
  9. or die("Database connection failure.");
  10. }
  11. else {
  12. $this->connectionLink = ibase_connect(DB_HOSTNAME.":".DB_DATABASE_PATH.DB_DATABASE_NAME, DB_USERNAME, DB_PASSWORD)
  13. or die("Database connection failure.");
  14. }
  15. ibase_trans(IBASE_COMMITTED, $this->connectionLink);
  16. }
  17.  
  18. /** Disconnect function
  19.   * Disconnect a active link to DB.
  20.   * NOTE: if you are using a persistent connection,
  21.   * that function will not close the connection.
  22.   * @no params
  23.   */
  24. function disconnect() {
  25. ibase_close($this->connectionLink);
  26. }
  27.  
  28.  
  29. /** Execute function
  30.   * Executes a prepared query with ibase_prepare
  31.   * @statement - previous prepared query
  32.   * @params - collection of params to be replaced in a prepared query.
  33.   */
  34. function execute($statement, $params = null) {
  35. try {
  36.  
  37. if(count($params) == 0) {
  38. //$ret = ibase_execute($statement);
  39. $ret = call_user_func('ibase_execute', $statement);
  40. }
  41. else {
  42. array_unshift($params, $statement);
  43. $ret = call_user_func_array('ibase_execute', $params);
  44. //$ret = ibase_execute($statement, $params);
  45. }
  46. }
  47. catch(Exception $e) {
  48. return 'Error on Firebird execute function: '.$e->getMessage()."\n";
  49. }
  50. return $ret;
  51. }
  52.  
  53.  
  54. /** SendQuery function
  55.   * Evaluates a query text before execute.
  56.   * @query - String containing query text.
  57.   * @params - collection of params to be replaced in query.
  58.   */
  59. function & sendQuery($query, $params = null) {
  60. if (!self::$connected) {
  61. $this->connect();
  62. }
  63. $query = ibase_prepare($this->connectionLink, $query);
  64.  
  65. if (ibase_num_params($query) != count($params)) {
  66. throw new Exception("Input params and query params does not match.");
  67. return false;
  68. }
  69. else {
  70. $resultSet = $this->execute($query, $params);
  71. if (!$this->isError()) {
  72. $myResultSet = new ResultSet();
  73.  
  74. $i = 0;
  75. $array = array();
  76.  
  77. while(@$line = ibase_fetch_assoc($resultSet)) {
  78. foreach($line as $key => $value) {
  79. $array[$i][strtolower($key)] = $value;
  80. }
  81. $i++;
  82. }
  83. $myResultSet->fetch($array);
  84. }
  85. else {
  86. $myResultSet = new ResultSet();
  87. $myResultSet->setError(ibase_errmsg());
  88. }
  89. }
  90. return $myResultSet;
  91. }



Panie i panowie, za pomoc będe wielkim dłużnikiem bo zalezy mi na tym skrypciku!!!!!!!!!!!!!!!!!!!!
skowron-line
Poczytaj co robią funkcje ibase_... i jakie są ich odpowiedniki w mysql i bedziesz miał z górki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.