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...)
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ä. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.