Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 3 in /www/0/site32680/wwwroot/edit.php on line 26
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 3 in /www/0/site32680/wwwroot/edit.php on line 27
Ahoj,
(V dokumentacii php je napisane ze je vykonnejsia alternativa mysql_result je mysql_fetch_array, mysql_fetch_object...)
cize ako prve hned by som spravil to ze miesto mysql_result by som nahradil mysql_fetch_array [mozes aj mysql_fetch_object]...
<?
// Funkcia pre overenie ci sa nieco nachadza v tabulke...
function check_obsah($level, $message)
{
global $result;
if (mysql_fetch_row($result) == "FALSE" || mysql_num_rows($result) == 0)
{
if ($level == "0")
{
echo $message;
}
if ($level == "1")
{
die ($message);
}
}
}
MYSQL_CONNECT($host,$user,$pass) OR DIE("Unable to connect.");
$result = mysql("databaza", "select * from tabulka where id='$id'");
$row = mysql_fetch_array($result);
check_obsah('0', 'V tabulke sa nenachadza nic' );
$klub = $row['klub'];
$body = $row['zapasy'];
mysql_Close();
?>
hmm chyby uz nevypisuje, ale vypise:"V tabulke sa nenachadza nic"
lenze mam tam presne tu istu tabulku ako na inom serveri na ktorom to funguje, aj udaje na db su spravne takze neviem. Ale nevadi ziframujem to teda, aj tak dik chalani
fruxo napísal:Ahoj,
(V dokumentacii php je napisane ze je vykonnejsia alternativa mysql_result je mysql_fetch_array, mysql_fetch_object...)
cize ako prve hned by som spravil to ze miesto mysql_result by som nahradil mysql_fetch_array [mozes aj mysql_fetch_object]...
Ked chceš s tabuľky len jeden riadok, tak je to v podstate jedno (ale aj ja by som radšej použil ten spôsob, čo odporúčaš).
<?
// Funkcia pre overenie ci sa nieco nachadza v tabulke...
function mysql_start($host, $login, $heslo, $databaza)
{
mysql_connect($host, $login, $heslo) or die("Chyba pri pripojení na MySQL " . mysql_error());
mysql_select_db($databaza) or die("Chyba pri vyberaní databázy: ". mysql_error());
}
function check_obsah($level, $message)
{
global $result;
if (mysql_fetch_row($result) == "FALSE" || mysql_num_rows($result) == 0)
{
if ($level == "0")
{
echo $message;
}
if ($level == "1")
{
die ($message);
}
}
}
$id = $_GET['id'];
mysql_start('host', 'login', 'heslo', 'databaza');
$result = mysql_query("SELECT * FROM tabulka WHERE id='$id'");
$row = mysql_fetch_array($result);
check_obsah('0', 'V tabulke sa nenachadza nic' );
$klub = $row['klub'];
$body = $row['zapasy'];
mysql_close();
?>
chrono napísal:Ked chceš s tabuľky len jeden riadok, tak je to v podstate jedno (ale aj ja by som radšej použil ten spôsob, čo odporúčaš).
toto je pre kristove rany co? preco si tam $result poslal ako globalnu premennu? preco si to neposlal ako parameter? funkcia je uplne nepouzitelna v prikaze ze MysqlResult nie je v premennej s nazvom $result
if (mysql_fetch_row($result) == "FALSE" || mysql_num_rows($result) == 0)
tato podmienka je uplny nonsens. mysql_fetch_row ti posunie pointer na dalsi riadok a teda tato funkcia je nepouzitelna v pripade ze vysledok obsahuje viac ako jeden riadok. Nehovoriac o tom ze mysql_fetch_row vracia false a nie "FALSE"
druha cast tejto podmienky je nestastna pretoze, ak obsahuje vysledok viacero riadokov, tato podmienka bude stale true a teda funkcia sa nemoze pouzit v zmysle hasNext()
<?
// Funkcia pre pripojenie do mysql
function mysql_start($host, $login, $heslo, $databaza)
{
mysql_connect($host, $login, $heslo) or die("Chyba pri pripojení na MySQL " . mysql_error());
mysql_select_db($databaza) or die("Chyba pri vyberaní databázy: ". mysql_error());
}
function check_obsah($level, $message)
{
global $result;
if (mysql_num_rows($result) == 0)
{
if ($level == "0")
{
echo $message;
}
if ($level == "1")
{
die ($message);
}
}
}
$id = $_GET['id'];
mysql_start('host', 'login', 'heslo', 'databaza');
$result = mysql_query("SELECT * FROM tabulka WHERE id='$id'");
$row = mysql_fetch_array($result);
check_obsah('0', 'V tabulke sa nenachadza nic' );
$klub = $row['klub'];
$body = $row['zapasy'];
mysql_close();
?>