Topic: mysql_fetch_assoc(): supplied argument is not a valid MySQL

Sveiki esu naujokas PHP ir pradejau mokintis youtubeje ieskant lietuvisku video.
Siap ne daug radau bet viena the3devtv gera radau.Tai darau jo pamokos MySQL Svetaine
Dabar darau profilio perziura ivedant www.site.lt/index.php?psl=profilis?&kieno=1
Kintamasis kieno yra lygus vartotojo id.
Taigi turiu koda

if($psl == "profilis" && isset($kieno))
{
$kieno = preg_replace("[0-9]","",$kieno);
$row = mysql_fetch_assoc(mysql_query("SELECT FROM nariai WHERE id='$kieno'"));
if ($row['id'] == "") {
echo "
<h2>Profilis</h2>

Toks vartotojas neegzistuoja!
";
} else {
echo "
<h2>Profilis</h2>

<b>Slapyvardis:</a> ".$row['nick']."<br>
<b>El. pasto adresas:</b> ".$row['email']."<br>
<b>Tipas:</b> ".($row['tipas'] == 1 ? "Vartotojas" : "Administratorius")."<br>
";
}

Duomenu bazeje yra uzregistruoti 3 vartotojai ir einant i www.url.lt/index.php?psl=profilis&kieno=1 gaunu

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/afterfx/domains/blblabla/public_html/index.php on line 83

Profilis
Toks vartotojas neegzistuoja!

Nors siaip duoemenu bazeje yra 3 vartotojai
Net nezinau kodel neveikia

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

Atsiprasau labai durnas neparinkau ka selectint reikejo tik * parasyt :)

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

Vargu ar verta taip smarkiai save kritikuoti.

Siūlau atkreipti dėmesį į sakinių konstrukciją ir skyrybos ženklus. Kodui žymėti verta naudoti BBKodo žymes
.

Siūlau išsiaiškinti kuo PHP kalboje skiriasi dvigubos kabutės nuo viengubų. Manau, jog labai retai užklausoje verta pasirinkti viską (*),
dažniau būna prasmingiau riboti rezultatų aibę.

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

Youtube video rodo kad paprastos kabutes echoina kintamuosiu kaip plain text. Bet kazkaip dar didelio skirtumo man nesimato tarp paprastu ir double nu gal ateity ateis supratimas dabar kazkaip nelabai suprantu

5 (edited by andriusfm 2012-05-21 15:55:34)

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

Jei kintamasis tarp dvigubų kabučių PHP interpretatorius sutikęs kintamąjį jį pakeičia kintamojo verte. Jei tarp viengubų kabučių - nieko nekeičia.
Gal bus naudinga pabandyti įvykdyti:

<?php

$kintamasis = 'Vertė';

echo "Tarp dvigubų kabučių - įrašoma $kintamasis";
echo 'Tarp viengubų kabučių - lieka $kintamasis pavadinimas';

Tada verta pabandyti įvykdyti pakeitus kintamojo tipą. Kas bus spausdinama, jei:

$kintamasis = array(1, 2);

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

Aciu kad paaiskinai :P

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

Nusipirk gera knyga.Perskaityk nuo pradziu, kaip koki mokymosi kursa, eidamas prie sekancios dalies tik suprates pilnai pries tai buvusias.
Pades daug.

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

As internete parsisiunciau PHP MySQL pdf knygu tai turiu ka veikti.

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

Siulau pradeti mokytis tokia tvarka (jeigu kai ka jau zinai gali praleisti):

1. HTML
2. CSS
3. PHP
4. Javascript

Nebloga PHP knyga pradedantiesiems (paaiskina viska siek tiek kitu kampu, kad lengviau suprast):

http://www.headfirstlabs.com/books/hfphp/

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

mokaus_php wrote:

As internete parsisiunciau PHP MySQL pdf knygu tai turiu ka veikti.

is kur siuntei?

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

Ajaks wrote:

Siulau pradeti mokytis tokia tvarka (jeigu kai ka jau zinai gali praleisti):

1. HTML
2. CSS
3. PHP
4. Javascript

Nebloga PHP knyga pradedantiesiems (paaiskina viska siek tiek kitu kampu, kad lengviau suprast):

http://www.headfirstlabs.com/books/hfphp/

As tai siulyciau pradeti taip:
1. PHP + MySQL
2. HTML + JS
3. CSS

nes realiai tu jau programuoji, tai tau pats idomumas (tikiuosi) yra kurti programa. Tai susikuri su php/mysql programa, ja atvaizduoji per html + pridedi js (jei tau to tikrai reikia) ir tada dailini su CSS.

Mieline pica kai darai juk pirma pada pasiruosi o ne suri?

12 (edited by md5 2012-05-25 16:40:20)

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

aivaras37 wrote:
Ajaks wrote:

Siulau pradeti mokytis tokia tvarka (jeigu kai ka jau zinai gali praleisti):

1. HTML
2. CSS
3. PHP
4. Javascript

Nebloga PHP knyga pradedantiesiems (paaiskina viska siek tiek kitu kampu, kad lengviau suprast):

http://www.headfirstlabs.com/books/hfphp/

As tai siulyciau pradeti taip:
1. PHP + MySQL
2. HTML + JS
3. CSS

nes realiai tu jau programuoji, tai tau pats idomumas (tikiuosi) yra kurti programa. Tai susikuri su php/mysql programa, ja atvaizduoji per html + pridedi js (jei tau to tikrai reikia) ir tada dailini su CSS.

Mieline pica kai darai juk pirma pada pasiruosi o ne suri?

gamino gėlių puokšte, bet gavosi vainikas :)

Kiek maigyklių sudėvėjai ?

13 (edited by Ajaks 2012-05-25 18:51:15)

Re: mysql_fetch_assoc(): supplied argument is not a valid MySQL

aivaras37 wrote:
Ajaks wrote:

Siulau pradeti mokytis tokia tvarka (jeigu kai ka jau zinai gali praleisti):

1. HTML
2. CSS
3. PHP
4. Javascript

Nebloga PHP knyga pradedantiesiems (paaiskina viska siek tiek kitu kampu, kad lengviau suprast):

http://www.headfirstlabs.com/books/hfphp/

As tai siulyciau pradeti taip:
1. PHP + MySQL
2. HTML + JS
3. CSS

nes realiai tu jau programuoji, tai tau pats idomumas (tikiuosi) yra kurti programa. Tai susikuri su php/mysql programa, ja atvaizduoji per html + pridedi js (jei tau to tikrai reikia) ir tada dailini su CSS.

Mieline pica kai darai juk pirma pada pasiruosi o ne suri?

'Programavimas' is lempos neateina. Jis yra irankis tikslui pasiekti. Klausimas koks yra tikslas? Paprogramuoti tai kas idomu tik tau ir tai ko niekam nereikia? Is serijos 'gimes buti programuotoju'? Tada gali uzsiimti zaidimu su visokiom programavimo kalbom, jas mokintis, ir poto bandyti pas kazka isidarbinti dirbt plaktuku, kur tau kazkas duos kazkoki darba, pvz su php, ir tu vien tik ta darysi. Galima ir taip.

Kitas variantas, kurti galutini tiksla - produkta. Patinka ne programuoti, o patinka sukurti tai kas veikia ir duoda naudos zmonems. Ir kai pradedi tuom uzsiimiti, pirmiausiai ziuri i puslapi kuris yra statinis. Pradedi kurti puslapi kuris yra statinis. Ismoksi html pagrindus bei kazkiek css pagrindu. Tada, pagal poreiki, pereini i dinamini etapa ir giliniesi i php+mysql, kad ta pati statini dar paversti dinaminiu. Nes php yra skirtas buti iterptu jau i esama html, vadinasi ta html tu turi zinoti ir suprasti, kad poto i ji iterpti php.

Kai yra pagrindas (html + php) tada kaip prieda / bonusa patogumui, pridedi JS (unobtrusive JS).

Tokiu atveju visa mokymosi ideja ir kryptis sukoncentruota aplink galutini rezultata (o ne tarpini) - tai ka parodysi lankytojui. Puslapi ir jo funkcijas.

Gi jeigu tikslas yra programuoti savo malonumui, tada gali del saves pradeti nuo C, C++, JAVA, Phyton, PHP ir t.t. ir pan, ir po 10 metu atsisesi prie html ir pradesi galvoti 'koki gi as cia puslapi dabar pagaminsiu' :)