Подскажите как правильно работать с sampdb.
Написал скрипт на пхп который генерит базу.
if ($db = sqlite_open('D:\Games\GTA_San_Andreas\Lan\2.2\samp022server.win32\scriptfiles\usersdb', 0666, $sqliteerror)) {
sqlite_query($db, 'CREATE TABLE users (
login VARCHAR( 20 ) NOT NULL ,
pass VARCHAR( 10 ) NOT NULL
) ');
sqlite_query($db, "INSERT INTO users VALUES ('admin','password')");
$result = sqlite_query($db, 'SELECT * FROM users');
print_r(sqlite_fetch_array($result));
} else {
die($sqliteerror);
}Скрипт создал базу и показав Array ( [0] => admin [login] => admin [1] => password [pass] => password ) подтвердил, что она создана.
Базу положил в папку scriptfiles и заодно еще одну рядом с samp-server.exe, чтоб наверняка.
Затем открыл pawno редактор и написал следущий код внутри main()
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
new DB:db;
new DBResult:dbres;
new stri[255];
db_open("users");
// dbres = db_query(db, "CREATE TABLE users (login VARCHAR( 20 ) NOT NULL ,pass VARCHAR( 10 ) NOT NULL) '");
// dbres = db_query(db, "INSERT INTO users VALUES ('admin','password')");
dbres = db_query(db, "SELECT * FROM users");
printf("db_num_fields:%d", db_num_fields(dbres) );
printf("db_num_rows:%d", db_num_rows(dbres) );
db_get_field(dbres, 0, stri, 255);
printf("stri:%s",stri );
db_close(db);
}На выходе получил
db_num_fields:0
db_num_rows:0
stri:
Если поменять имя базы и раскоментировать 2 строки, чтобы создать базу через сам сервер ситуация не изменится. Но при этом сама базу будет пустой.
Где я ложанулся?
Отредактировано Kedo (2008-08-06 13:52:48)



