Problém SQL SELECT a UPDATE

Programovacie jazyky, rady, poradňa...
FrewCen
Light Expert
Light Expert
Príspevky: 75
Registrovaný: 11 aug 2011, 10:30

Problém SQL SELECT a UPDATE

Príspevok od používateľa FrewCen »

Čau. Mám problém.

Kód: Vybrať všetko

function AddPower($name, $for_add)
	{
		$result = null;
		$link = mysql_connect("localhost", $this->database_username, $this->database_password);
		mysql_select_db($this->database_name, $link);
		$select_power = "SELECT Power FROM USERS WHERE name='$name'";
		$update_power = "UPDATE USERS SET Power = $power + $for_add WHERE name = '$name'"; 
		$power = mysql_query($select_power) or die($result = mysql_error());
		echo $power;
		mysql_query($update_power) or die($result = mysql_error());
		if($result==null)
		{
			return true;
		}
		else
		{
			return $result;
		}
		mysql_close($link);
	}
Po kóde potrebujem, aby vybral terajšiu hodnotu, a aby ju potom v tabuľke updatol. Ale stále mi to nejde. Nechce mi updatnuť. Žiaľ, žiadna chybová hláška... Neviete niekto, ako by som to mohlo docieliť?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Problém SQL SELECT a UPDATE

Príspevok od používateľa audiotrack »

$update_power = "UPDATE USERS SET Power = $power + $for_add WHERE name = '$name'";
$power = mysql_query($select_power) or die($result = mysql_error());

poradie týchto riadkov vymeň. Ty v tom query používaš premennú $power ktorú ešte nemáš, a získaš ju až o riadok nižšie. Tam ju vlastne tiež nezískaš, ale snáď som ťa nakopol a budeš už vedieť že treba použiť mysql_fetch_array alebo niečo iné čo ti z toho query resultu tú premennú hodí do $power :)

inač celé to query na select je tam úplne zbytočne, a stačí to spraviť iba takto:

Kód: Vybrať všetko

function AddPower($name, $for_add){
   return mysql_query("UPDATE USERS SET Power = Power + $for_add WHERE name = '$name' limit 1"); 
}
samozrejme že si ošetriť to otváranie a zatváranie spojenia, ale to by som spravil na začiatku skriptu a konci skriptu a nie vo funkcii, lebo je to drahá operácia. Spojenie si otvor iba raz niekde v hlavičke, a zavri ho vo footeri. A $link si prípadne predávaj ako globálnu premennú
FrewCen
Light Expert
Light Expert
Príspevky: 75
Registrovaný: 11 aug 2011, 10:30

Re: Problém SQL SELECT a UPDATE

Príspevok od používateľa FrewCen »

Dík, použil som fetch row a ide.

//autoeditácia príspevku (02 Sep 2011, 19:29)
Ok.
Napísať odpoveď