Pereiti prie turinio

PHP/MySQL pagalbos - gražina ne tą rezultatą


Rekomenduojami pranešimai

Sveiki. Turiu tokį kodą:

 

$check = mysql_query("SELECT `pirko` FROM `nariai` WHERE slapyvardis = 'Jonuxzas'");
$check = mysql_num_rows($check);
echo $check;

 

MySQL yra nustatyta, jog prie slapyvardžio Jonuxzas pirko reikšmė yra 2.

 

Tuo tarpu echo $check; gražina 1.

 

Gal žinote kame problema galėtų būti? Ačiū.

Redagavo Jonuxzas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki. Turiu tokį kodą:

 

$check = mysql_query("SELECT `pirko` FROM `nariai` WHERE slapyvardis = 'Jonuxzas'");
$check = mysql_num_rows($check);
echo $check;

 

MySQL yra nustatyta, jog prie slapyvardžio Jonuxzas pirko reikšmė yra 2.

 

Tuo tarpu echo $check; gražina 1.

 

Gal žinote kame problema galėtų būti? Ačiū.

mysql_num_rows - retrieves the number of rows from a result set.
Redagavo apieviska
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Niekad nesupratau kodėl negalima naudoti *, gal galima būtų plačiau? :D

Ne negalima, bet tiesiog, kai reikia vieno laukelio, tai kam? Aišku, su mažais duomenų kiekiais gal ir nelabai svarbu, bet su dideliais tai gali jau ir siunčiant klientui susidaryti overheadas. Negi siųsi megabaitus duomenų, kai reikia vieno skaičiuko :D

 

Tuo labiau šiuo atveju – žmogus sau laimingas ima vieną stulpelį, tai kam ta žvaigždutė? :)

 

Aišku, yra sričių, kur tai veikia visiškai atvirkščiai.

EXPLAIN ANALYZE SELECT COUNT(*) FROM ...;
Total runtime: 5.191 ms
EXPLAIN ANALYZE SELECT COUNT(id) FROM ...;
Total runtime: 5.582 ms

(tik čia Postgres)

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Niekad nesupratau kodėl negalima naudoti *, gal galima būtų plačiau? :D

 

* negalima naudoti, nes labai sulėtina užklausas, ypač tada kai tavo duomenų bazė labai didelė, o lentelėje labai daug laukų.

Pvz. Tu turi duomenų bazę su tarkim 100k įrašu, tavo lentelėje yra 10 laukų, o tau reikia tik dviejų.

Kas tavo manymu bus greičiau: pasirinkti visus laukus iš lentelės kurioje yra 100k įrašų ar naudoti tik 2 reikalingus laukus? :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...