Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] sprawdzenie istnienia rekordu
Terrorizer
post
Post #1





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


Chcę sprawdzić czy dany użytkownik zagłosował już na dane zdjęcie.
Do zmiennej votecheck pobieram głos(vote) przypisany do konkretnego użytkownika(voter) oraz id zdjęcia(photoid).
Instrukcja IF ma sprawdzać czy votecheck jest pusta tzn. czy wpis z danym głosem istnieje w bazie. Jeśli nie, to go doda.
Jednak gdzieś tutaj zatrzymuje mi się kod.
Próbowałem użyć isset, !$ oraz ==null natomiast nic nie skutkuje.
Vardump nie pokazuje mi nic kompletnie, chyba że wywalę dopisek ['vote'] albo mysqlfetchassoc, wtedy pokazuje mi null ale wtedy też coś jest nie halo bo można głosować bez końca.
Mógłby mi ktoś podpowiedzieć jaki tu jest problem?
Siedzę już chyba z 16 godzin przy tym dzisiaj idę spać i mam nadzieję, że rano mnie oświeci (IMG:style_emoticons/default/haha.gif)
p.s. wiem ,że to jest podatne na injection (IMG:style_emoticons/default/tongue.gif)

  1. $votecheck = mysql_fetch_assoc(mysql_query("SELECT vote FROM votes WHERE photoid = '$photoid' AND voter = '$voter' ")) or die(mysql_error());
  2. if ($votecheck['vote'] == null){
  3. //skrypt dodania głosu do bazy
  4. }


Dla bardziej wnikliwych tutaj jest cały skrypt:

  1. <?php session_start(); ?>
  2. <?php include 'connect.php'; ?>
  3.  
  4. <?php
  5. ini_set('display_errors','1');
  6.  
  7. $photoid = $_GET['id'];
  8. $nick = mysql_fetch_array(mysql_query('SELECT nick FROM users WHERE id = "'.$_SESSION['id'].'"')) or die(mysql_error());
  9. $voter = $nick['nick'];
  10. $votesinfo = mysql_query('SELECT * FROM votes') or die(mysql_error());
  11. $photoinfo = mysql_fetch_array(mysql_query('SELECT * FROM photos WHERE id="'.$photoid.'" ')) or die(mysql_error());
  12. $photoowner = $photoinfo['user'];
  13.  
  14. $votecheck = mysql_fetch_assoc(mysql_query("SELECT vote FROM votes WHERE photoid = '$photoid' AND voter = '$voter' ")) or die(mysql_error());
  15. var_dump($votecheck['vote']);
  16. if ($votecheck['vote'] == null){
  17. mysql_query('UPDATE photos SET likes=likes+1 WHERE id="'.$photoid.'" ');
  18.  
  19. mysql_query("INSERT INTO votes (voter, photoid, photoowner, vote) VALUES ('$voter', '$photoid', '$photoowner', 'yes')") or die(mysql_error());
  20. }
  21.  
  22. ?>


Ten post edytował Terrorizer 14.12.2014, 03:17:05
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: 8.10.2025 - 06:43