eregi Posted September 21, 2007 Report Share Posted September 21, 2007 Tā, tagad nelielu skriptiņu čakarēju, kurš izčeko spēļu serverus, ievāc informāciju, un izecho to, viens no galvenajiem failiem ir - http://paste.php.lv/6109 darbība pašlaik ir tāda - izvelk no mysql ip:port ievieto funkcijā un izlaič cauri, iegūstot rezūltātu, kas izskatās apm šādi - [serveraid] => Array ( [hostname] => iegūtaishosts [gamename] => spēle } pēctam tieši no visa šī pieprasa to, ko mums vajag, piem echo $data[$row1['Id']]['hostname']; kas izvilks hostneimu. Viss itkā strādā līdz izechošai, to ieskaitot, bet, kad mēģinu ar nevis echo'sanu, bet gan mysql update, nekas nesanāk - mēģināju apm šādi - http://paste.php.lv/6110 , bet izmet erroru, kaut kas šim ar updeitu nepatīk, ceru, ka kāds varēs palīdzēt, to updeitošanas jautājumu. cjeers Link to comment Share on other sites More sharing options...
localhero Posted September 21, 2007 Report Share Posted September 21, 2007 Kads erors ? Link to comment Share on other sites More sharing options...
bubu Posted September 21, 2007 Report Share Posted September 21, 2007 Varu saderēt, ka mysqls tev kļūdu priekšā saka... Vajag tikai paprasīt: or die("kkas aizgaja dirsaa :("); => or die(mysql_error()); Stringus SQL teikumos vajag likt pēdiņās - " vai '. Turpretī skaitļus nevajag (WHERE Id='1'). P.S. publicējot savu kodu, postē nelielu fragmentu no tā, tikai dažas rindiņas, nevis to visu simtiem rindu garo palagu, ko iedevi. Tas tikai palielinās iespēju sagaidīt labu atbildi. Link to comment Share on other sites More sharing options...
eregi Posted September 21, 2007 Author Report Share Posted September 21, 2007 Varu saderēt, ka mysqls tev kļūdu priekšā saka... Parse error: syntax error, unexpected T_CATCH in /var/www/localhost/htdocs/web/serv/GameQ.php on line 522 522-525 rindā atrdās - catch (GameQ_Exception $e) { echo 'An error occurred.'; } :/ mēģinot removot tās 2 rindas, turpinās erroru virkne. P.S. publicējot savu kodu, postē nelielu fragmentu no tā, tikai dažas rindiņas, nevis to visu simtiem rindu garo palagu, ko iedevi. Tas tikai palielinās iespēju sagaidīt labu atbildi. sorē. Link to comment Share on other sites More sharing options...
bubu Posted September 21, 2007 Report Share Posted September 21, 2007 Tā jau nav MySQL kļūda. Tā ir php sintakses kļūda. Un tā apgalvo, ka tajā vietā, kur tu ierakstīji to catch, tur nemaz nevar atrasties catch keywords. Link to comment Share on other sites More sharing options...
eregi Posted September 21, 2007 Author Report Share Posted September 21, 2007 (edited) Paldies! Vēl tāda lieta, man katra updeita laikā vajag iemest rowā +1, lai redzētu, cik kopā ir bijuši apdeiti, piem, sākumā ir viens un updeita laikā izvelk no db, ka bija 1 un tam pieskaita vēl vienu apdeitoto reizi ( 1+1). Mēģināju, laikam tomēr neesmu iebraucis kā sql qvērijus var kārtot - http://paste.php.lv/6112 tad es izdomāju, ka vajag vienkārši uzrakstīt funkciju, tik nezinu, uz, ko returnot - function kopa(skaits) { $viss=$skaits+1; $viss return ?!?!?!? } Kā? ā un jā, vēl, vienā no failiem, kurš tiek inklūdots, tiek pārbaudīts, vai serveris ir on, ja ir, tad ok, ja nav tad $neiet = $serveraid;, tātad ja tajā failā echo arā, tad viss ir ok, bet ja echo main failā, kas visu inclūdo, tad nekas nenotiek, diezvai es pietiekami skaidri paskaidroju, bet galva uz nakti sūdīgāk šancē. Edited September 21, 2007 by eregi Link to comment Share on other sites More sharing options...
andrisp Posted September 22, 2007 Report Share Posted September 22, 2007 Jā, sūdīgi paskaidroji gan. Par to +1 lietu: nesapratu, ko tu gribi ar to funkciju panākt, bet ja tev vajag iekš sql palielināt kādu lauku par vienu vērtību: UPDATE bla SET bla = bla + 1 WHERE kaut_kas = bla Link to comment Share on other sites More sharing options...
eregi Posted September 22, 2007 Author Report Share Posted September 22, 2007 (edited) vēlreiz - Skripta izpildes laikā var gadīties, ka kāds no serveriem, kuram es konektējos klāt ir izslēgts, sākumā tam skriptam bija uztaisīts tā, ja serveris izslēkts tad die un viss, bet es uztaisīju maziņu figņu, lai tā darbība turpinās, kā arī nodefinēju $neiet = $idkursneiet;, lai ja nu kāds serveris neiet, tā updeita laikā tiktu vienā rowā pieskaitīts +1 ( lai vēlāk zinātu cik reizes nav gājis). - http://paste.php.lv/6114 tā fiška, kura nosaka $neiet ir 87 rindā, ja es echo'ju tos $idkurineiet iekš tā if'a, tad viss echojās, bet ja es mēģinu izecho't to $neiet iekš jau kāda cita faila - http://paste.php.lv/6115 - 25 rinda, tad nekko neizvada. Doma ir tāda, ja serveris ir off, tad iekš mysql updeita pieskaita vienu reizi, kad bijis off un vienu reizi pie - cik reizes nočekots. un ar to funkciju, kuru iepriekš rādīju gribēju, lai tā ģenerē čekotās reizes ( izvelk cik jau reizes tas row's ir updeitots un tad pieskaita +1 ) eDit: visdrīzāk, ka vajadzētu kautkādu if'u vai funkciju, kas nosaka, ja ir online, tad izmanto tādu update qvēriju, bet ja off, tad citu.. Edited September 22, 2007 by eregi Link to comment Share on other sites More sharing options...
Recommended Posts