41

(2 replies, posted in Visa kita)

Standartinės teksto paieškos funkcijos tiek PHP tiek MySQL nėra naudotinos galutinio vartotojo paieškos funkcijoms atlikti. Reikia arba apsirašyti, kaip tavo ta paieška veikia ir tada susiprogramuoti naudojant turimas funkcijas, arba naudotis trečių šalių bibliotekomis ir/arba servisais.

42

(2 replies, posted in Visa kita)

Vienokių ar kitokių skype chatų yra, bet kas norit prisijungti prie naujos skype grupės ir ten perkelti plepalus, tai galit parašyt man per skype: gloomy_lt

Turiu omenyje tokius ID: black-01

Persidaryti juos į normalius ID, per du stulpelius arba per dvi lenteles viską net laikyt ir tada nekils klausimų kaip surasti paskutinį ir priešpaskutinį.

O istumas tarp dviejų tekstų irgi ne MySQL'o darbas... galima bet niekaip nesiderina su jau minėtais ID (-;

Jo... yra tokia idėja - nenaudoti tokios nesamonės.

45

(7 replies, posted in PHP)

Esi tikras, kad ruošiesi PHP sertifikatui, o ne atminties lavinimo egzaminui? (-;

Jeigu sertifikate reikia mintinai žinoti kažkokias funkcijas tai tikrai tikrai nei tau jis reikalingas nei niekam kitam.

Dėl funkcijų, tai ankstyvoje jaunystėje PHP buvo gaminamas gana chaotirškai be kažkokių labai standartizuotų gairių, todėl tam tikros ankstyvosios core funkcijos ir liko su nesuderintais pavadinimais (-;

46

(9 replies, posted in Visa kita)

Labai senas bajeris, kad visiškai nekontekste įmestas linkas nieko nereiškia, todėl ir nepergyvenu dėl "spamo" (-;

47

(2 replies, posted in PHP)

1) Reikia HTML žinių ir iš "echo "Table: {$row[0]}\n";" perdaryti, kad atvaizduotu nuorodą kitą script'ą su URL parametu, kuriame perduosi konkretų lentelės pavadinimą;
2) Reikia naujo scripto, kurio esmė atitinka dabartinį, bet kuris gavęs per GET parametrą lentelės pavadinimą, atitinkamai vykdytu kitokią užklausą (SELECT iš tos lentelės) su duomenų atvaizdavimu;

Nu tai vykdyk dvi (abi) užklausas tame puslapyje ir ir turėsi rezultatą.

Kam juos atrinkinėt jeigu jie tik atnaujinami? Iš karto atnaujini, tam yra komanda UPDATE ...

50

(9 replies, posted in Visa kita)

Nėra problemų trinti temų, tiesiog parašiau, jog jeigu jau pradėjot komentuoti, tai reiškias nenorit, kad ji būtų ištrinta. Nebūtų komentarų būčiau ištrynęs.

Nemokamų nenaudoju, bet ir mokami paprastai neleidžia. O šiaip turi klausti pas juos ar leidžia ar ne.

Nieko stebūklingo - hostingas neleidžia jungtis prie mysql'o iš išorės ir tiek žinių.

53

(4 replies, posted in PHP)

Neatidžiai skaičiau, bet iš pirmo žvilgsnio tai tikriausiai, kad klaida yra sekančioje eilutėje:

$moveResult = move_uploaded_file($fileTmpLoc, "../user/$log_username/$db_file_name");

Pabandyk nurodyt PILNą kelią iki target failo. šiuo metu kelias yra releatyvus, ir galbūt tu neteisingai jį sukonstravai.

aisteirduk wrote:

Sveiki, gal galit patart, ar yra kokia mokomoji programa, kur galima pasimokyti kurti duomenų bazes nieko net neinstaliuojant

Yra internete visokių variantų, tiek online: http://www.db4free.net/d4f_apply.php

Tiek manau paieškojus gal galima rasti ir standalone/portable kažką

SELECT uid,first_name,last_name FROM user WHERE is_app_user=1 AND uid IN(SELECT uid2 FROM friend WHERE uid1=me())
SELECT `user`.`uid`,
   `user`.`first_name`,
   `user`.`last_name`
FROM `user`
   INNER JOIN `friend` ON `user`.`uid` = `friend`.`uid2`
WHERE `user`.`is_app_user` = 1
   AND `friend`.`uid1` = me()

56

(7 replies, posted in PHP)

Na "die mysql_error()" yra nieko gero... čia kalbant bendrai. Nes neparodomas puslapis ir pan. Taip pat mysql_error vartotojui nereikia matyti.

Vienas iš būdų, kaip jau rašiau yra pasigaminti savo funkcija, į kuri:
a) gali apdoroti mysql užklausas/orm, pvz.:

mysql_query($query) or die(mysql_error());

// keičiam į

my_db_handler($query);

// kur

function my_db_handler($query){
  mysql_query($query) or my_logger($query, mysql_error());
}

b) gali tik klaidų apdorojimą perrašyti, būtų yra:
b1) vietoj die(mysql_error()) naudoti die(my_error_handler()); (greitas hackas nepažeidžiant kreivos sistemos architektūros);
b2) atsisakyti die() ir aplamai naidoti php error handlerį: http://php.net/manual/en/function.set-error-handler.php
b3) atsisakyti die() ir naudoti try/catch

Mano rekomendacija tai būtų visas mysql užklausas ir visas klaidas apdoroti per tam reikalui skirtas funkcijas/metodus - per vieną tašką, kuriame tu jau paskui galėsi turėti tau tinkamas konstrukcijas ir kryptis, kur nukreipti tikruosius klaidų panešimųs (system log, log file, db error table ar email);

Kalbant dar bendriau, kalbant apie kitas klaidas yra tokie naudingi dalykai:
1) __FILE__, __LINE__
2) http://php.net/manual/en/function.debug-backtrace.php

57

(7 replies, posted in PHP)

Tai sukurk funkciją/metodą, ir visas atskiras funkcijas nukreipk į naujai sukurtą, tada joje jau galėsi gaudyt.

Parodyk kaip atrodo dabartinė užklausos vykdymo ir klaidos apdorojimo struktūra.

58

(7 replies, posted in PHP)

žiūrint kokios aplinkybės:

pvz.: jeigu visos užklausos yra eina per vieną funkciją/metodą (wrapper'į), tai jame gali pradėti debuginti - pilną klaidos pranešimą kažkur užsisaugot, ar rodyt tik dedikuotiems IP ar dar kaip nors;

Tai, kad tu teisingai užpildai tai dar nieko nereiškia. Reikia turėti vartotoją, kuris turi teises (grants) jungtis per tą konkretų IP.

Ką pagal tave reiškia "Access denied for user 'zz'@'xx.xxx.xxx.xx'"?