[php] problem z updatem MySQL

0

Mam taki kod:

<?
	if (!$_SESSION['user'])
	{
		die("Nie jeste? zalogowany!");
	}
?>
<?
	if ( $login )
	{
		$title = $_POST['title'];
		$subtitle = $_POST['subtitle'];
		$background = $_POST['background'];
		$text = $_POST['text'];
		$link = $_POST['link'];
		$hover = $_POST['hover'];
		$hoverbg = $_POST['hoverbg'];
		$visited = $_POST['visited'];
		$active = $_POST['active'];
		$font = $_POST['font'];
		$menu_head = $_POST['menu_head'];
		$menu_head_color = $_POST['menu_head_color'];
		$menu_color = $_POST['menu_color'];
		$note_head = $_POST['note_head'];
		$note_head_color = $_POST['note_head_color'];
		$note_color = $_POST['note_color'];
		$logo = $_POST['logo'];
		
		if ($logo == 'bezlogo')
		{
			$logos = '';
		}
		elseif ($logo == 'mylogo')
		{
			$logos = $logo_adres;
		}
		else
		{
			$logos = $logo . '.gif';
		}
		echo $logos;
		mysql_query("UPDATE pref SET title = '$title', subtitle = '$subtitle', background = '$background', text = '$text', link = '$link', hover = '$hover', hoverbg = '$hoverbg', visited = '$visited, active = '$active', font = '$font', menu_head = '$menu_head', menu_head_color = '$menu_head_color', menu_color = '$menu_color', note_head = '$note_head', note_head_color = '$note_head_color', note_color = '$note_color', logo = '$logos' WHERE blogname = '$login"); 
		echo "<b>Ustawienia zostały zaktualizowane!</b>";
	}
	else
	{
		echo "Nie jeste? zalogowany!";
	}

?>

I jest tu jakiś błąd bo aktualizuje mi wszystkie pola ze wszystkich rekordów w tej tabeli a powinno aktualizować wszystkie pola z rekordu gdzie pole blogname jest równe osobie zalogowanej ('$login'). :/ Co jest nie tak???

0

A nie powinno być
WHERE blogname = '$login'");
zamiast
WHERE blogname = '$login");

brakuje ' po $login

0

racja był błąd ale problem cały czas się powtarza :/

0

Ciężko tak w kodzie sprawdzić gdzie może być błąd w zapytaniu. Wypisz sobie jak wygląda zapytanie.

$var = "UPDATE pref SET title = '$title', subtitle = '$subtitle', background = '$background', text = '$text', link = '$link', hover = '$hover', hoverbg = '$hoverbg', visited = '$visited, active = '$active', font = '$font', menu_head = '$menu_head', menu_head_color = '$menu_head_color', menu_color = '$menu_color', note_head = '$note_head', note_head_color = '$note_head_color', note_color = '$note_color', logo = '$logos' WHERE blogname = '$login'";
echo "<BR><B>".$var."</B><BR>";
if (!mysql_query($var))
   echo "<BR>".mysql_errno().": ".mysql_error()."<BR>";

I spróbuj z tej perspektywy spojrzeć na to zapytanie ;-)

0

Dzięki za podsunięcie pomysłu. Dzięki temu odnalazłem błąd. Brakowało jeszcze jednego apostrofa (po visited) :D heh thanks!

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