• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyciąganie z bazy danych zmiennej EXP

Object Storage Arubacloud
0 głosów
130 wizyt
pytanie zadane 12 sierpnia 2019 w SQL, bazy danych przez Kacperhehe Bywalec (2,930 p.)

Tak wygląda mój skrypt

$_SESSION['points'] = "SELECT exp FROM users WHERE username='$username'";

W taki sposób tabela

Chciałbym wyciągnąć kolumne EXP z użytkownika który jest aktualnie zalogowany.

Jakieś rady bo nic mi się nie pokazuje gdy używam echo

SKRYPT NA LOGOWANIE

// LOGIN USER
if (isset($_POST['login_user'])) {
  $username = mysqli_real_escape_string($db, $_POST['username']);
  $password = mysqli_real_escape_string($db, $_POST['password']);

  if (empty($username)) {
  	array_push($errors, "Username is required");
  }
  if (empty($password)) {
  	array_push($errors, "Password is required");
  }

  if (count($errors) == 0) {
  	$password = md5($password);
  	$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
  	$results = mysqli_query($db, $query);
  	if (mysqli_num_rows($results) == 1) {
  	  $_SESSION['username'] = $username;
  	  $_SESSION['points'] = "SELECT exp FROM users WHERE username='$username'";
  	  $_SESSION['success'] = "You are now logged in";
  	  header('location: main.php');
  	}else {
  		array_push($errors, "Wrong username/password combination");
  	}
  }
}

Strona na której ma to się pokazać:

<? echo "Hello! ".$_SESSION['username']." You currently have ".$_SESSION['points']." points";?>

username się normalnie pokazuję.

2 odpowiedzi

0 głosów
odpowiedź 12 sierpnia 2019 przez Kacperhehe Bywalec (2,930 p.)

;///

0 głosów
odpowiedź 13 sierpnia 2019 przez Artek Stary wyjadacz (11,800 p.)

Wydaje mi się, że ty wcale nie pobierasz wiersza z wyników. O ile dobrze pamiętam powinieneś użyć czegoś takiego jak fetch_assoc - czyli właśnie pobieranie wiersza z całości wyników.

$row = mysqli_fetch_assoc($results);

Poza tym dziwne jest to, że najpierw masz zapytanie a potem coś takiego

$_SESSION['points'] = "SELECT exp FROM users WHERE username='$username'";

Po co znowu zapytanie, które i tak nie jest wysyłane do bazy? Jedno przecież już masz i masz wyniki. Tam powinna być kolumna exp.

$exp = $row['exp'];

Mam nadzieję, że nic nie pokręciłem. Pisałem na szybko z pamięci.

Podobne pytania

0 głosów
0 odpowiedzi 214 wizyt
pytanie zadane 2 czerwca 2019 w PHP przez Piotr Jarema Użytkownik (970 p.)
+1 głos
1 odpowiedź 247 wizyt
pytanie zadane 24 lutego 2022 w SQL, bazy danych przez Piotrek2713 Mądrala (5,340 p.)
0 głosów
1 odpowiedź 104 wizyt

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...