» »

Začetniški php problem

Začetniški php problem

KernelPanic ::

Spoštovani!

Spisal sem sledečo php skripto:
<?php
    header("Content-type: text/xml");

    $db = mysql_connect("xxx.xxx.xxx.xxx", "x", "x");
    mysql_select_db("weblife", $db);

    $resultMerchandise=mysql_query("SELECT * FROM wlMerchandise", $db);
    $resultIngridients=mysql_query("SELECT * FROM wlIngridients order by IdMerchandise", $db);

    $rowIngridient=mysql_fetch_row($resultIngridients);
    while ($rowMerchandise=mysql_fetch_row($resultMerchandise))
    {
        $idMerchandise = $row['Id'];
        ?>
            <item
                name="<?=$rowMerchandise['Name']?>"
                detail="<?
                    while(idMerchandise>$rowIngridient['IdMerchandise']) { // skip all non matched ingridients
                        $rowIngridient=mysql_fetch_row($resultIngridients);
                    if ($idMerchandise==$rowIngridient['IdMerchandise']) {
                        ?><?=$rowIngridient['Name']?><?
                        $rowIngridient=mysql_fetch_row($resultIngridients);
                        while ($idMerchandise==$rowIngridient['IdMerchandise'])
                        {
                            ?>, <?=$rowIngridient['Name']?><?
                            $rowIngridient=mysql_fetch_row($resultIngridients);
                        }
                    }
                ?>"
            > // item
                <option price="<?=$rowMerchandise['Price']?>"/>
            </item>
        <?
    }
    mysql_close($linkId);
?>

ki je nikakor ne morem pognati, saj mi php5 venomer javlja:
PHP Parse error: syntax error, unexpected $end in /var/www/php_scripts/wl_get_all_merchandise.php on line 38


Po moje gre za popolno začetniško napako, zato prosim za pomoč.

Lp,
KernelPanic

W3by ::

Najverjetneje strežnik ne podpira kratkih tagov v PHPju (PHP short tag). Najbolje da HTML kodo izpisuješ z echo-ti.

<?php
    header("Content-type: text/xml");

    $db = mysql_connect("xxx.xxx.xxx.xxx", "x", "x");
    mysql_select_db("weblife", $db);

    $resultMerchandise=mysql_query("SELECT * FROM wlMerchandise", $db);
    $resultIngridients=mysql_query("SELECT * FROM wlIngridients order by IdMerchandise", $db);

    $rowIngridient=mysql_fetch_row($resultIngridients);
    while ($rowMerchandise=mysql_fetch_row($resultMerchandise))
    {
        $idMerchandise = $row['Id'];
        
        echo '<item name="'.$rowMerchandise['Name'].'" detail="';
				
                    while(idMerchandise>$rowIngridient['IdMerchandise']) { // skip all non matched ingridients
                        $rowIngridient=mysql_fetch_row($resultIngridients);
						
                    if ($idMerchandise==$rowIngridient['IdMerchandise']) {
					
						echo $rowIngridient['Name'];
						
                        $rowIngridient=mysql_fetch_row($resultIngridients);
                        while ($idMerchandise==$rowIngridient['IdMerchandise'])
                        {
                            echo ', '.$rowIngridient['Name'];
                            $rowIngridient=mysql_fetch_row($resultIngridients);
                        }
                    }
        echo '> // item
		<option price="'.$rowMerchandise['Price'].'"/> </item>
		';
       
    }
    mysql_close($linkId);
?>

KernelPanic ::

echo odpade, ker je v mojem projektu performancno neustrezen.

KernelPanic ::

Ok, sem zrihtal, ampak sedaj se mi noce povezati na bazo:
PHP Warning: mysql_connect(): Access denied for user 'root'@'xx.dc.cable.static.lj-kabel.net' (using password: YES) in /var/www/php_scripts/wl_get_all_merchandise.php on line 4
Kaj bi lahko bilo narobe? Ce se logiram z username "root" in pripadajocim geslom v terminalu na mysql server, mi uspe brez napak, tako da privilegies po moje niso problem.

Zgodovina sprememb…

Gost ::

echo odpade, ker je v mojem projektu performancno neustrezen.


?Kako prosim? Si prepričan, da je to tvoj glavni problem?

KernelPanic je izjavil:

Ok, sem zrihtal, ampak sedaj se mi noce povezati na bazo:
PHP Warning: mysql_connect(): Access denied for user 'root'@'xx.dc.cable.static.lj-kabel.net' (using password: YES) in /var/www/php_scripts/wl_get_all_merchandise.php on line 4
Kaj bi lahko bilo narobe? Ce se logiram z username "root" in pripadajocim geslom v terminalu na mysql server, mi uspe brez napak, tako da privilegies po moje niso problem.


Preveri še ostale nastavitve za mysql povezavo - verjetno host ali pa port...

Zgodovina sprememb…

  • spremenil: Gost ()

McAjvar ::

"echo" je performancno neustrezen? Se pridruzujem Gostu, da problem najbrz lezi drugje, ne v echo. Indikator bi znal med drugim biti, ce je prilepljena koda vsa vsebina datoteke, da le-tej manjka en zaviti zaklepaj.

Povezava na MySQL pa ... Prvic, uporabljas root account, kar je slabo. Drugic - glede na to, da ti streznik odgovori, da te ne spusti gor, sta host in port verjetno prava (razen, ce nisi cisto hosta sfalil :D).

Ko se povezujes v terminalu ... je to s tvojega racunalnika ali to pocnes na strezniku? Mozno je namrec, da ti MySQL dovoli povezati se prek localhost, ne pa tudi od drugod?
"[...] the advance of civilization is nothing
but an exercise in the limiting of privacy."
- Isaac Asimov

KernelPanic ::

Lejte fantje no, pac echo ne bom tukaj uporabljal no, a se moramo sedaj kregati glede echota?? Pravim, da sem sintakso sam zrihtal in da mi se sedaj noce povezati na mysql streznik. Ko se od doma povezem na isti streznik (preko terminala), ki je fizicno v mariboru, deluje vse brez problemov. "Root" account je samo za test, takoj ko zacne stvar delati, bom postimal za druge userje, rad bi samo, da mi ta skripta zalaufa brez problemov. Da je pa echo performancno neustrezen, je pa v mojem primeru res, ker ta skripta mora fizicno vrniti podatkovni tok in tako je hitreje, kot da bi izpisoval stringe. Pa se tekst formatira, kar mi v nasem primeru ni vsec.

Lp,
KernelPanic

keworkian ::

Oprosti ampak you fail, shorttag pomeni echo. Glede povezave na mysql ali uporabljas ip ali servername?
Obscenities in B-Flat

KernelPanic ::

Knight, tako mi je narocil sef in se sploh ne mislim ubadati z temi jajci :D za tak gnar :D. V parametre za povezavo na mysql vtipkam IP.

Ziga Dolhar ::

Jezusmarija no. CTRL+F mi pove, da se v tvoji kodi "{" pojavi 4-krat, medtem ko se "}" pojavi 3-krat ...

:D
https://dolhar.si/

KernelPanic ::

Ziga Dolhar je izjavil:

Jezusmarija no. CTRL+F mi pove, da se v tvoji kodi "{" pojavi 4-krat, medtem ko se "}" pojavi 3-krat ...

:D
Jaaaaaaaaaaaa, to sem zrihtal, hvala. Sedaj je problem v povezavi z mysql streznikom ...

Lion29 ::

lol...


<?=


dela pocasneje kot
<?php echo...


nisem nek super strokovnjak ampak mi logika tako pravi

= je v tem primeru le bliznjica za echo... izvede se ista funkcija... le da mora php prej "ugotovit", da je = v tem primeru namenjen za izpis...

kar se tice tvojega problema....
preveri ce imas v hosts datoteki vklopljen localhost
127.0.0.1 localhost

verjetno bo tle problem
Founder and CTO @ Article-Factory.ai

Ziga Dolhar ::

KernelPanic: ups, spregledal :-(
https://dolhar.si/

KernelPanic ::

Kaksno vezo pa ima localhost file z mojo tezavo? MIslim, ne da dvomim, vendar bi rad tehnicno obrazlozitev, ker nikjer nisem zasledil, da mysql brska po /etc/localhost ob prijavi ...

Lion29 ::

lol

gre se za pravice HOST-a... torej ce se ti prijavljas na localhost (ob povezavi z bazo) moras tudi imeti pravice do njega.... ce ni definiran... potem bo verjetno to krivo...

torej preden kaj reces nazaj probaj... pa potem povej ce dela ali ne
Founder and CTO @ Article-Factory.ai


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Povezava na bazo iz drugega strežnika

Oddelek: Izdelava spletišč
8997 (772) Tody
»

Težave z MySQL povezavo

Oddelek: Izdelava spletišč
292618 (2223) la_mer
»

problem z mysql serverjem

Oddelek: Izdelava spletišč
161471 (1244) koloredo
»

Apache+php+phpmyadmin+win2k=LogonError

Oddelek: Izdelava spletišč
51402 (1273) plavko61
»

Najboljši programski jezik za dinamičen html

Oddelek: Izdelava spletišč
443283 (2647) frenk

Več podobnih tem