Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z wykonaniem zapytania do bazy danych
AlKhalif
post 13.08.2016, 11:43:44
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 9.08.2016

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


Witajcie. Mam problem z tym skryptem
  1. $odleglosc=mysql_result(mysql_query("SELECT sum(odleglosc) FROM vssstats WHERE user='$uzytkownik'"));

oczywiście wcześniej mam logowanie i łączenie do bazy danych. Błąd jaki występuje po otworzeniu strony to:
Warning: mysql_result() expects at least 2 parameters, 1 given in C:\xampp\htdocs\vsstats\stats.php on line 40
Wie ktoś może o co chodzi?
Przepraszam za jakieś głupie błędy, ale uczę się dopiero.

Ten post edytował AlKhalif 13.08.2016, 11:44:08
Go to the top of the page
+Quote Post
Kshyhoo
post 13.08.2016, 12:01:05
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Przenoszę do odpowiedniego działu.


--------------------
Go to the top of the page
+Quote Post
viking
post 13.08.2016, 12:03:10
Post #3





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


I jaki jest problem? Komunikat jest chyba bardzo jasny. Funkcja oczekuje 2 parametrów a u Ciebie jest jeden.
string mysql_result ( resource $result , int $row
Brakuje ci numeru wiersza. Poza tym skoro się uczysz to nie używaj wycofanego juz rozszerzenia mysql. Wszystko masz opisane w dokumentacji.


--------------------
Go to the top of the page
+Quote Post
AlKhalif
post 13.08.2016, 12:15:42
Post #4





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 9.08.2016

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


Więc podpowie ktoś jak to będzie w mysqli? Niestety nie mam pojęcia jak to wykonać :/
bo jeśli dobrze zrozumiałem miałbym podać numer wiersza ($row), tylko ja chce aby skrypt podliczył wszystkie wartości z podanej kolumny.


Ten post edytował AlKhalif 13.08.2016, 12:17:39
Go to the top of the page
+Quote Post
viking
post 13.08.2016, 12:45:09
Post #5





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


W dokumentacji jest wszystko opisane. Numeracja zaczyna się od zera. W dokumentacji jest też informacja jakie funkcje zastępują http://php.net/manual/en/mysqli-result.data-seek.php
W twoim wypadku możliwe że rekord będzie 1 albo wiele. Możliwe ze potrzebne jest grupowanie.


--------------------
Go to the top of the page
+Quote Post
AlKhalif
post 13.08.2016, 19:38:34
Post #6





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 9.08.2016

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


Przepraszam że znowu pisze, ale niestety nie rozumiem tego do końca. Może napisze o co chodzi i jakbyś mógł to wyjaśnij co i jak. Najlepiej jakbyś napisał to zapytanie, a ja je przeanalizuje, oczywiści jeśli możesz smile.gif
Sytuacja jest taka że posiadam tabele, w której mam kilka kolumn, z których część posiada wartości liczbowe ustawione jako int. Chciałbym aby skrypt sumował kolejne przejechane odległości i zwracał je w formie liczby, która by była wyświetlana w statystykach użytkownika. Tak samo chce zrobić jeszcze z polami które by sumowały koszty eksploatacyjne, cenę przejazdu odcinków płatnych oraz korzystanie z promu. Na sam koniec chciałbym też aby była podliczona ilość wykonanych kursów.
Wiem że prawdopodobnie całe to zagadnienie jest proste, ale jakoś nie potrafię go puki co zrozumieć.
Ogólnie rozumiem przykład do momentu zawartości funkcji if. Poleceń w nim zawartych nie potrafię zrozumieć.

Z wielkim trudem udało mi się to zrobić w taki sposób
  1. $uzytkownik=$_SESSION['user'];
  2. $kursy=mysqli_fetch_assoc( mysqli_query($connect, "SELECT count(id_trasy) FROM vssstats WHERE user='$uzytkownik'"));
  3. echo 'Ukończone kursy: '.$kursy['count(id_trasy)'];

mam nadzieje że opcja ta jest w pełni poprawna i nie wywoła jakiś błędów smile.gif

Ten post edytował AlKhalif 13.08.2016, 18:00:45
Go to the top of the page
+Quote Post
abel1
post 13.08.2016, 22:05:24
Post #7





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 17.03.2014

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


  1. define('DB_SERVER', "localhost");
  2. define('DB_USER', "login_do_bazy");
  3. define('DB_PASSWORD', "hasło_do_bazy");
  4. define('DB_DATABASE', "nazwa_bazy");
  5. define('DB_DRIVER', "mysql");
  6. try
  7. {
  8. $polaczenie = new PDO(DB_DRIVER . ":dbname=" . DB_DATABASE . ";host=" . DB_SERVER, DB_USER, DB_PASSWORD);
  9. // set the PDO error mode to exception
  10. $polaczenie->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  11. $zapytanie = $polaczenie->prepare("SELECT kolumna FROM tabela WHERE kolumna_tabeli");
  12. while($wiersz = $zapytanie->fetch())
  13. {
  14. $imie=$wiersz['imie'];
  15. $nazwisko=$wiersz['nazwisko'];
  16. }
  17. }

Tak to sobie zrób
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2024 - 11:27