Zapytanie UPDATE nie uaktualnia rekordu w tabeli bazy danych

0

Witam. Poniższy kod miałby mi posłużyć do zmienienia wartości 0 w polu bazy danych pt. status, na wartości równą 1; ale nie zmienia. Co jest tego przyczyną ?

<?php
$mysql_host = 'mysql.cba.pl';
$mysql_login = 'loginbazy';
$mysql_haslo = 'haslobazy';
$mysql_baza = 'nazwabazy_cba_pl';
$login = $_GET['login'];
$kod = $_GET['kod'];
$kodbaza = mysql_query("SELECT kod FROM uzytkownik WHERE login=$login");
$wlacz = 1;

if ($kod = $kodbaza)
{
$polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd: nie udało się nawiązać połączenia z bazą danych.');	
	mysql_select_db($mysql_baza) or die('Błąd: nie udało się wybrać schematu bazy danych.');
	mysql_query("UPDATE uzytkownik SET status=$wlacz WHERE login=$login");
	echo ('Twoje konto zostało aktywowane. Możesz się zalogować na stronie głównej.');
}
else
{
echo ('Nie można aktywować konta. Kod aktywacyjny nie zgadza się z wygenerowanym przy rejestracji. Zarejestruj się jeszcze raz.');
}
?> 

Z góry dziękuje za pomoc.

0

Nie dziala? Tzn. pojawia sie blad? Jaki blad? Czy po prostu nie uaktualnia wiersza? Ludzie - nauczcie sie tytulowac watki na forum!! Jak tytułować wątki na forum?

A odpowiadajac na twoje pytanie: zapytanie wyglada na prawidlowe, poza tym, ze jest podane na ataki SQL Injection. Pewnie zmienna @@$login@@ nie odpowiada watrosci znajdujacej sie w tabeli w bazie danych.

0

masz

if ($kod = $kodbaza)

powinno być
if ($kod == $kodbaza)

i nie $kodbaza = mysql_query("SELECT kod FROM uzytkownik WHERE login=$login");

a

$kodbaza = mysql_fetch_array(mysql_query("SELECT kod FROM uzytkownik WHERE login=$login"));
$kodbaza = $kodbaza['kod'];

jak już..

dodalbym jeszcze

WHERE login='".$login."'" tam gdzie używasz zmiennej tekstowej

0

a ja dorzucę, że nie WHERE login=$login tylko jakoś tak WHERE login='$login'

1 użytkowników online, w tym zalogowanych: 0, gości: 1