Autor Zpráva
Ghosting
Profil
Zdravím,
nedávno jsem mluvil po ICQ s jedním zkušeným programátorem. Ukazoval jsem mu níže uvedený zápis a říkal že to zapisuji špatně.


<?php
$blabla = $_GET['neco']; 
$hehe = $blabla* 1;
$jeeee = mysql_query("SELECT * FROM `ocnivady-kliniky` ORDER BY id ASC LIMIT $hehe ,1"); 
$zaznam = mysql_fetch_array($jeeee);
$jeeee_pocet = mysql_num_rows(mysql_query("SELECT * FROM `tabulka`"));
;?>

<?php $output.="
<h1> $zaznam[neco_z_mysql]</h1>
";?>




Prý bych tam měl mít správně toto

<?php $output.="

<h1> '.$zaznam[neco_z_mysql].'</h1>

";?>

Je to chyba, když tam nenapíši '. ..... .' ?A dá se to něják zneužít?
Joker
Profil
Ghosting
Nemyslel spíš tohle?
<?php $output.="<h1> ".$zaznam['neco_z_mysql']."</h1>"; ?>
souki
Profil
Ghosting
Minimálně když někde nad tím nadefinuji konstantu neco_z_mysql, tak to přestane fungovat
lamka2.0
Profil *
zle je aj tento zapis
$jeeee_pocet = mysql_num_rows(mysql_query("SELECT * FROM `tabulka`"));

spravne
$jeeee_pocet = mysql_result(mysql_query("SELECT COUNT(*) FROM `tabulka`"),0);
Ghosting
Profil
lamka2.0
On ten script funguje v pořádku, to mi starost nedělá.

Joker
Ano je to ono, co se tedy stane když tam ty uvozovky nepoužiju? Je to nebezpečné, nebo se to počítá jen jako "chyba!?

souki
Tomu nějak nerozumim.
tiso
Profil
Ghosting Toľko chýb pokope... Ach jaj...
Otázka: ako často budeš mať diery (zmazané id) v tej tabuľke?
panther
Profil
Ghosting
nedávno jsem mluvil po ICQ s jedním zkušeným programátorem. Ukazoval jsem mu níže uvedený zápis a říkal že to zapisuji špatně.
ses ho mohl zeptat, co je na daném zápisu špatně, resp. co se mu tak jeví.
Str4wberry
Profil
Mně se navíc nezdá mysql_fetch_array.
souki
Profil
Ghosting
Když to dáš bez uvozovek, tak je to konstanta a ne řetězec.
Zkus si tohle :)
<?php
echo ahoj;
define('ahoj','nazdar');
echo ahoj;
echo "ahoj";
?>
joe
Profil
Já bych to napsal takhle
<?php

$blabla = intval($_GET['neco']); 
$hehe = $blabla * 1;

$jeeee = mysql_query("SELECT * FROM `ocnivady-kliniky` ORDER BY id ASC LIMIT $hehe ,1"); 

$jeeee_pocet = mysql_query("SELECT COUNT(*) AS count FROM `tabulka`");
$jeeee_pocet = mysql_fetch_assoc($jeeee_pocet);

while($zaznam = mysql_fetch_assoc($jeeee)) {
	$output .= "<h1>" . $zaznam['neco_z_mysql'] . "</h1>";
}

?>
Ghosting
Profil
Páchám sebevraždu a zveřejnuji kod. (Po uprave)

souki
JJ na tomto prikladu mi to taky vsvetloval. Ghosting Toľko chýb pokope... Ach jaj...
No me upozornoval jen na ten zapis.
Ghosting
Profil
joe
Ja to zkusim.
Ghosting
Profil
Joeova [url=verze]verze[/url] vyhodí chybu
"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/httpd/ocnivady.cz/www/****/****/****/kod.php on line 10"
Joker
Profil
Ghosting
Ano je to ono, co se tedy stane když tam ty uvozovky nepoužiju? Je to nebezpečné, nebo se to počítá jen jako "chyba!?
Nevezme se to jako řetězec, ale jako konstanta. Pokud konstanta toho jména skutečně bude definovaná, přestane to fungovat. Pokud ta konstanta definovaná není, PHP generuje poznámku (notice) a bude předpokládat, že to má být řetězec.
Takže většinou se nic nestane, ale správně to není.

On ten script funguje v pořádku, to mi starost nedělá.
Tak ono to, že to (v nějaké situaci) funguje, ještě neznamená, že to je správně ;-)

Str4wberry
Mně se navíc nezdá mysql_fetch_array.
Proč?
Str4wberry
Profil
Reakce na Jokera:
Potřebuješ někdy pole indexované názvy i pořadím?
joe
Profil
Nevím, nic špatného na tom nevidím, možná tam chyba je, možná ne, nechce se mi to kontrolovat s takovými proměnnými. Tady to je s normálními názvy a funkční.
$sql = "SELECT * FROM `table` ORDER BY id ASC LIMIT " . intval($_GET['neco']) . " ,1";
$result = mysql_query($sql); 

//echo $sql;

$count = mysql_query("SELECT COUNT(*) AS count FROM `table`");
$count = mysql_fetch_assoc($count);

while($row = mysql_fetch_assoc($result)) {
	$output .= "<h1>" . $row['table_row'] . "</h1>";
}

echo $output;

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: