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

p.s. wiem ,że to jest podatne na injection

$votecheck = mysql_fetch_assoc(mysql_query("SELECT vote FROM votes WHERE photoid = '$photoid' AND voter = '$voter' ")) or die(mysql_error()); if ($votecheck['vote'] == null){ //skrypt dodania głosu do bazy }
Dla bardziej wnikliwych tutaj jest cały skrypt:
<?php include 'connect.php'; ?> <?php $photoid = $_GET['id']; $nick = mysql_fetch_array(mysql_query('SELECT nick FROM users WHERE id = "'.$_SESSION['id'].'"')) or die(mysql_error()); $voter = $nick['nick']; $photoinfo = mysql_fetch_array(mysql_query('SELECT * FROM photos WHERE id="'.$photoid.'" ')) or die(mysql_error()); $photoowner = $photoinfo['user']; $votecheck = mysql_fetch_assoc(mysql_query("SELECT vote FROM votes WHERE photoid = '$photoid' AND voter = '$voter' ")) or die(mysql_error()); if ($votecheck['vote'] == null){ mysql_query("INSERT INTO votes (voter, photoid, photoowner, vote) VALUES ('$voter', '$photoid', '$photoowner', 'yes')") or die(mysql_error()); } ?>