Autor Zpráva
hej?
Profil *
Zdravím všechny potřebuji se zeptat kde je chyba stále mi to píše:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/news.php on line 20

<?php
require("nastaveni.php");


if (!$cc)
{
$pocet=$_GET["pocet"];
if (!$pocet) $pocet=0;

$zjisteni=mysql_query("select count(id) FROM novinky");
$poradi=mysql_fetch_array($zjisteni);
$poradi=$poradi[0];

$select=mysql_query("select * from novinky order by id DESC LIMIT $pocet,$max")
or DIE("Nepovedl se select na Databazi!");

echo '<h3>Aktuality</h3>';
echo '<table border=1>';

while($r=mysql_fetch_array($select))
{
$cc=$r[id];
$nadpis=$r[nadpis];
$datum=$r[datum];
$vlozil=$r[vlozil];
$cely=$r[cely_text];
$uryvek=$r[uryvek];

if ($cely) $nadpis="<a href='?cc=$cc'>$nadpis</a>";

echo "
<tr>
<td>$nadpis</td><td>$datum, $vlozil</td>
</tr>
<tr>
<td colspan=2>$uryvek</td>
</tr>
";
}
echo '</table>';



Nevíte proč to nejde??? Díky
Nox
Profil
V tabulce novinky není žádný záznam

Navíc $poradi=$poradi[0]; je docela nekorektní operace, navíc to celé můžeš provést prostě přes

$pocet=@mysql_result(mysql_query("select count(id) from novinky"),0);

Možná by šlo ještě pomocí or ošetřit když bude 0 záznamů
hej?
Profil *
jsem začatečnik takže o tom moc nevím. Akorát tedkom mi to hlasi chybu že se nepovedl select na databazi jinak to už chybu nehlasi za to díky ;)
hej?
Profil *
V tabulce novinky není žádný záznam
Navíc $poradi=$poradi[0]; je docela nekorektní operace, navíc to celé můžeš provést prostě přes
$pocet=@mysql_result(mysql_query("select count(id) from novinky"),0);
Možná by šlo ještě pomocí or ošetřit když bude 0 záznamů

Za tohle diky určo to využiju, ale nevíš ješte proč se mi to nechce zřejme spojit s databazi když udaje by meli byt spravne?
Nox
Profil
Jak to má kdo vědět, když tu nedáš kód:) Asi nejsou, případně se mrkni do FAQu hostingu
nightfish
Profil
Nox
V tabulce novinky není žádný záznam
spíš je problém v dotazu nebo připojení k databázi
resp. když v tabulce nebude žádný záznam, tak to vrátí nulu, což?

Navíc $poradi=$poradi[0]; je docela nekorektní operace
to je naprosto korektní operace... z pole (nebo řetězce) $poradi to vezme první položku (znak) a uloží do proměnné $poradi

$pocet=@mysql_result(mysql_query("select count(id) from novinky"),0);
ale fuj, zavináče se jí a ne dávají před volání funkcí v PHP

hej?
uprav si kód na
$zjisteni=mysql_query("select count(id) FROM novinky");
if (!$zjisteni) Die("doslo k chybe pri dotazu na databazi:<br>".mysql_error()."<br>";
else {
  $poradi=mysql_fetch_array($zjisteni); 
  $poradi=$poradi[0];
}

$select=mysql_query("select * from novinky order by id DESC LIMIT $pocet,$max")
or DIE("Nepovedl se select na Databazi!<br>".mysql_error());


P.S. doufám, že v tom "nastaveni.php" je kód, který provádí připojení na databázi...
P.P.S. ten kód je místy opravdu zvěrský - pro začátek - retězcové konstanty (např. u asociativních indexů pole) se uzavírají do uvozovek nebo apostrofů
hej?
Profil *
<?php

$server='mysql.ic.cz';
$user='ic_sdstudio';
$pass='123';
$database='ic_sdstudio';


if (!mysql_connect($server, $user, $pass))
{
echo "Nepovedlo se pøipojit k databázovému serveru! <br/>\n";
echo "Chyba ". mysql_error()."<br/>\n";
echo "Èíslo ". mysql_errno();
exit();
}

if (!mysql_select_db($database))
{
echo "Nepovedlo se vybrat databázi! <br/>\n";
echo "Chyba ". mysql_error()."<br/>\n";
echo "Èíslo ". mysql_errno();
exit();
}
$max=10;

?>

tady mas to prihlaseni no :)
hej?
Profil *
Nox
„V tabulce novinky není žádný záznam“
spíš je problém v dotazu nebo připojení k databázi
resp. když v tabulce nebude žádný záznam, tak to vrátí nulu, což?
„Navíc $poradi=$poradi[0]; je docela nekorektní operace“
to je naprosto korektní operace... z pole (nebo řetězce) $poradi to vezme první položku (znak) a uloží do proměnné $poradi
„$pocet=@mysql_result(mysql_query("select count(id) from novinky"),0);“
ale fuj, zavináče se jí a ne dávají před volání funkcí v PHP
hej?
uprav si kód na
$zjisteni=mysql_query("select count(id) FROM novinky");
if (!$zjisteni) Die("doslo k chybe pri dotazu na databazi:<br>".mysql_error()."<br>";
else {
$poradi=mysql_fetch_array($zjisteni);
$poradi=$poradi[0];
}
$select=mysql_query("select * from novinky order by id DESC LIMIT $pocet,$max")
or DIE("Nepovedl se select na Databazi!<br>".mysql_error());
P.S. doufám, že v tom "nastaveni.php" je kód, který provádí připojení na databázi...
P.P.S. ten kód je místy opravdu zvěrský - pro začátek - retězcové konstanty (např. u asociativních indexů pole) se uzavírají do uvozovek nebo apostrofů
Díky j v tom nastaveni jsou ty udaje
Nox
Profil
spíš je problém v dotazu nebo připojení k databázi
resp. když v tabulce nebude žádný záznam, tak to vrátí nulu, což?

Máš pravdu, spletl jsem si to s případem kdy se nepoužívá count, ale normálně záznamy, pak se pokud vím vrací false

to je naprosto korektní operace... z pole (nebo řetězce) $poradi to vezme první položku (znak) a uloží do proměnné $poradi
A není to tak že se do poli proměnných snažíš přiřadit nějakou hodnotu, přesto že je to pole? Mě to prostě nesedí, ale PHP to teda asi umí přetypovat...nebo špatně
chápu koncept

ale fuj, zavináče se jí a ne dávají před volání funkcí v PHP
J, pravda, no vycházel jsem z http://php.vrana.cz/ziskani-poctu-radek.php a tenhle zápis je (vzhledem k tomu že se data dále nezpracovávají)
nejkratší, ale pamatuju si, že mi to házelo chybu cannot jump to row 0, nebo nějak tak...asi při nějaké jiné situaci tedy
hej?
Profil *
jestli se chcete kouknout co to vlastne je tak tady to mate cele v raru http://www.rjwebdesign.net/download.php?fid=4&file=novinky.rar
nightfish
Profil
Nox
Máš pravdu, spletl jsem si to s případem kdy se nepoužívá count, ale normálně záznamy, pak se pokud vím vrací false
ne, mysql_query vrací false pouze v případě, že při vykonávání dotazu došlo k chybě (syntaktická chyba v dotazu, není vybrána databáze, není připojeno k databázi apod.)

ale pamatuju si, že mi to házelo chybu cannot jump to row 0, nebo nějak tak...asi při nějaké jiné situaci tedy
to se stane když použiješ mysql_result a z databáze se vrátí 0 řádků výsledku

A není to tak že se do poli proměnných snažíš přiřadit nějakou hodnotu, přesto že je to pole? Mě to prostě nesedí, ale PHP to teda asi umí přetypovat...nebo špatně
chápu koncept

$pole = array("neco", "jineho); // vytvori pole $pole[0] = "neco"; $pole[1] = "jineho";
$pole = $pole[0]; // vyhodnoti vyraz na prave strane od rovnitka, tzn. jakoby $pole[0] nahradi retezcem "neco" a nasledne provede prirazeni tohohle rezetce do promenne $pole (PHP automaticky zmeni typ promenne $pole z "pole" na "retezec")

hej?
jestli se chcete kouknout co to vlastne je tak tady to mate cele v raru
já ani ne, děkuji
píše ti něco ten mysql_error()?
Nox
Profil
Mno jo, ještě se musím učit:)
A co když je $pole[0]="auto";$pole[1]=6;$pole=$pole[1]; ...i toto jde? pak se ostatní hodnoty smažou?
Edit: už mlčim - vždyť to můžu zkusit sám!
Edit2: ano...smažou, typ se změní i navzdory obsažení dalších hodnot

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: