Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][MySQL][PHP]Nie dodaje rekordu.
Forum PHP.pl > Forum > Przedszkole
prostowniczek
Robie aktualnie status online, lecz po wylogowaniu nie dodaje nadpisuje rekordu.

  1. <?php
  2. include 'inc/header.php';
  3.  
  4. echo '<h2>Wylogowywanie</h2>';
  5.  
  6. if($_SESSION['logged'])
  7. {
  8. mysql_query('UPDATE `users` SET `zalogowany`="0" WHERE `user_login`='.$_SESSION['login'].'');
  9. $_SESSION['logged'] = false;
  10. $_SESSION['id'] = '';
  11. $_SESSION['admin'] = '0';
  12. echo 'Wylogowany';
  13. } else
  14. {
  15. echo 'Nie byłes zalogowany! <a href="index.php">wróć</a>';
  16. }
  17.  
  18. include 'inc/stopka.php';
  19. ?>


Chodzi o:

  1. mysql_query('UPDATE `users` SET `zalogowany`="0" WHERE `user_login`='.$_SESSION['login'].'');
kuli95
  1. mysql_query('UPDATE `nazwaTwojejBazyDanych`.`users` SET `zalogowany` = "0" WHERE `user_login`="$_SESSION['login']";);


w kodzie nie podałeś nazwy Twojej bazy danych oraz powstawiałeś gdzieniegdzie kilka błędnych kropek, apostrofów i nie dałes na końcu średnika
Wazniak96
Cytat(kuli95 @ 5.06.2013, 21:25:48 ) *
  1. mysql_query('UPDATE `nazwaTwojejBazyDanych`.`users` SET `zalogowany` = "0" WHERE `user_login`="$_SESSION['login']";);


w kodzie nie podałeś nazwy Twojej bazy danych oraz powstawiałeś gdzieniegdzie kilka błędnych kropek, apostrofów i nie dałes na końcu średnika


To co podałeś, że jest rzekomym błędem jest nie prawdziwe. Te zapytanie które podałeś jest co prawda poprawne(pomijając to, że zgubiłeś apostrof zakańczający zapytanie) ale jest to bardzo rozbudowana wersja. Bazę danych podajesz gdy nie masz jej wybrane przez mysql_select_db, a średnikiem oddzielasz kolejne zapytania. Kropki łączą podane odcinki stringów. Jedyne co było za duże to dołączenie spacji na końcu zapytania ale to nie ma różnicy.

Ja bym podane zapytanie zbudował raczej tak...
  1. mysql_query("UPDATE users SET zalogowany = '0' WHERE user_login='{$_SESSION['login']}'");

lub
  1. mysql_query("UPDATE users SET zalogowany = '0' WHERE user_login=".$_SESSION['login']);
goukan
  1. <?php
  2. $login = $_SESSION['login'];
  3. mysql_query("UPDATE users SET zalogowany='0' WHERE user_login='$login'");
  4. ?>
Damonsson
Cytat(goukan @ 5.06.2013, 22:52:33 ) *
  1. $login = $_SESSION['login'];

A to do czego niby?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.