Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z połączeniem do bazy sqlite, Serwer nie może połączyć się do pliku z bazą
divx_divine
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.10.2011

Ostrzeżenie: (0%)
-----


Witam. Chciałbym mieć możliwość ingerowania w plik serwera sqlite na pewnym serwerze gry. Serwer pewnej gry jest oparty na języku squirrel. Do zaimplementowania bazy używamy modułu sq_lite. Rozszerzenie pliku z serwerem to .sqlite. I teraz nie wiem jak się połączyć. Próbowałem różnych metod, np. sqlite_open. Jednak połączenie zakończone niepowodzeniem, oto komunikat:

  1. Warning: sqlite_open() [function.sqlite-open]: file is encrypted or is not a database in \sq\index.php on line 3
  2. file is encrypted or is not a database


Bardzo mi zależy na możliwość w ingerowanie bazy przez stronę internetową i nie wiem jak na to wszystko poradzić. Niestety w grę nie wchodzi mysql.

@edit: podrzucam kod, którego teraz użyłem do połączenia z bazą:
  1. <?php
  2.  
  3. if ($db = sqlite_open('serwer.sqlite', 0666, $sqliteerror)) {
  4.  
  5. $result = sqlite_query($db,'select bar from foo');
  6. var_dump(sqlite_fetch_array($result));
  7. } else {
  8. die ($sqliteerror);
  9. }
  10. ?>
  11. ?>


@edit2:

Podrzucam jeszcze przykładową bazę, może komuś się uda połączyć.
Serwer.sqlite

Ten post edytował divx_divine 18.05.2012, 20:31:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Quantum
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. echo $row['name'], ' ', $row['level'];

wstaw do pętli, a jakbyś chciał zrobić drugim sposobem to przed pętlą:
  1. $players = array();

w pętli:
  1. array_push($players, array($row['name'], $row['level']));

i możesz sobie swobodnie użyć w kodzie:
  1. ...
  2.  
  3. foreach ($players as $player) {
  4. echo $player[0], ' ', $player[1], '<br/>';
  5. }

Go to the top of the page
+Quote Post
divx_divine
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.10.2011

Ostrzeżenie: (0%)
-----


Cytat(Quantum @ 19.05.2012, 20:13:36 ) *
...wstaw do pętli, a jakbyś chciał zrobić drugim sposobem to przed pętlą...


O takie coś właśnie mi chodziło. Dokładnie taki efekt chciałem uzyskać. Quantum, gdybyś mógł jeszcze zerknąć, czy wszystko dobrze wstawiłem, tak jak zalecałeś, bo nie jestem pewny czy dobrze załapałem. Jestem początkujący w php. (IMG:style_emoticons/default/smile.gif)

  1. <?php
  2. $db = new SQLite3('serwer.sqlite');
  3.  
  4.  
  5. echo "<hr /><br /><strong>Zobacz: </strong><br/>";
  6.  
  7.  
  8. $Names = array();
  9. $results = $db->query("SELECT ID,Name,Cost,Owner FROM cars WHERE Owner='Brak'");
  10. while ($row = $results->fetchArray()) {
  11. array_push($Names, array($row['ID'], $row['Name'], $row['Cost']));;
  12. }
  13.  
  14. foreach ($Names as $Name) {
  15. echo '<b>ID: </b>', $Name[0], ' ', ' <b>Model: </b>', $Name[1], ' <b>Cena: </b>', $Name[2], '$ <br/>';
  16. }
  17.  
  18. echo "<hr>";
  19.  
  20. $db->close();
  21. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 19:34