Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP valittaa oudosti aaltosuluista

herkko [04.11.2009 15:28:56]

#

Mulla on seuraava funktio yhden luokan metodina, mutta sepäs ei pääsekkään syntaksisyynistä läpi.

<?php
function save()
{
	if ($this->id > 0) {
		#Save existing file
		return query("
	 		UPDATE file
	 		SET file_name		= '{$this->file_name}',
	 			passkey			= '{$this->passkey}',
	 			time_uploaded	= {$this->time_uploaded},
	 			time_expires	= {$this->time_expires},
	 			user_id			= {$this->user_id}
	 		WHERE id = {$this->id}
	 		LIMIT 1
	 	");
	 } else {
	 	#Save new file
	 	$result = query("
	 		INSERT INTO file
	 		(file_name, passkey, time_uploaded, time_expires, user_id)
	 		VALUES
	 		('{$this->file_name}', '{$this->passkey}', {$this->time_uploaded}, {$this->time_expires}, {$this->user_id})
	 	");
	 	if (!$result)
	 		return false;
	 	$this->id = query_id();
	 	return true;
	 }
}
?>

Antaa vain tällaisen virheilmoituksen: "Parse error: syntax error, unexpected '}' in /media/D/www/filepoint/test.php on line 16". Rivi 16 on siis tuo "} else {" -rivi.

(query() ja query_id() ovat sitten itse muualla määrittämiäni funktioita, jotka käytännössä kutsuvat mysql_ -alkuisia funktioita.)

Ei voi ymmärtää. :/

Edit: kiitos hyvin pikaisesta avusta Ohjelmointiputkalle - copypaste tämän aiheen sivulta takaisin editoriin korjasi tilanteen ihmeellisesti. 8)
(Silti mietin, mikä aluperin saattoi virheen aiuheuttaa...)

Metabolix [04.11.2009 16:07:21]

#

Ehkä jossain kohti on ollut non-breaking space, joka siis koodin kannalta on eri asia kuin tavallinen välilyönti. Linuxissa näitä välejä saa aikaan Alt Gr -näppäimen kanssa eli usein vahingossa merkkien |{}[] lähistölle. Selaimesta kopioidessa ne yleensä muuttuvat tavallisiksi välilyönneiksi, mikä on ihan järkevää, koska usein niitä nettisivuilla käytetään vain typografisista syistä. Ongelman voi löytää tiedostosta hakutoiminnolla, mutta usein on nopeampaa kirjoittaa kaikki välit uusiksi virheriviltä ja edelliseltä. :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta