Używam smarty, AdoBD + php 5.0.2.
Mam plik
config.inc.php a w nim zapisane dane potrzebne do połączenia
<?php
// Modify this data before instalation.
// Remember that directories in Linux are case sensitive!!!
/********** HOST AND DATABASE **********/
$rbx_db_host = 'localhost'; //host where exists database
$rbx_db_name = 'robotecs'; //database name
$rbx_db_user = 'user'; //username used to log to the database
$rbx_db_pass = 'password'; //password for username
$rbx_db_admin = 'admin'; //administrator of the database
$rbx_db_admin_pass = 'amd_password'; //passsword for administrator
/* inne zmienne configu*/
?>
a następnie klasę TUser w pliku
user.php a w niej konstruktor + include któy mi nie chce działać!
<?php
//includy potrzebne do dzialania klasy
require_once("./core/adodb/adodb.inc.php");
include("./configs/config.inc.php");
//definicje klas bledow
class UserException extends Exception {};
class IllegalDataException extends Exception {};
class SqlException extends Exception {};
class User {
/* pola prywatne */
public function __construct($nick="", $email="") {
$this->db = NewADOConnection("mysql");
$this->db->debug = true;
$this->db->Connect($rbx_db_host, $rbx_db_user, $rbx_db_pass, $rbx_db_name);
//$this->db->Connect('localhost', 'user', 'password', 'robotecs');
$this->user_id = 0;
$this->nick = "";
$this->name = $nick;
$this->password = "";
$this->password_crypt = "";
$this->email = $email;
$this->gg = "";
$this->icq = "";
$this->tlen_id = "";
$this->photo = "";
$this->description = "";
$this->phone = "";
$this->result = null;
}
else throw new UserException("Can't create user when nickname is empty.");
}
else throw new UserException("Can't create user when email is empty.");
}
}
?>
okazuje się bowiem, że podczas dowolnego późniejszego wywołania w dowolnej metodzie tej klasy poniższego kodu konczy sie komunikatem: Nie wybrano żadnej bazy danych.
<?php
$this->db->Execute('jakis kod AQL');
?>
sprawdzalem zawartosc zmiennych:
$rbx_db_host;
$rbx_db_name;
$rbx_db_user;
$rbx_db_pass;
i okazuje się, że nie mają one żadnych wartości!!! Pytanie DLACZEGO? Gdzieś jest jakiś prosty błąd (tak przypuszczam) którego nie jestem w stanie zlokalizować i odpływam bo siedzę nad tym już 2 godziny i kupa.
Jeśli podstawię tą wyremowaną linijkę
<?php
//$this->db->Connect('localhost', 'user', 'password', 'robotecs');
?>
zamiast tej ze zmniennymi to wszystko jest pięknie i cacy..
ja już odpadam, nie widzę nic...
Ten post edytował Aztech 12.12.2005, 23:52:50