Autor Zpráva
unlucky
Profil
Mám skript, kde se mi do error logu zapisuje PHP Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource, což je právě označený řádek. Vypisoval jsem si dotaz a vložil si ho ručně do dbz a funguje... Skript také vypisuje vše co má. jediný problém je, že se do error logu automaticky zapisuje tento warning. Nevím čím to je. Nehlásí žádnou chybu

select a.*,u.id as uid,u.user as autor, a.id as idik,count(k.id) as nr_comments, DATE_FORMAT(`added`, '%e.%M.%Y' ) AS datum,
  DATE_FORMAT(`added`, '%e' ) AS den, DATE_FORMAT(`added`, '%M' ) AS mesic 
        from articles a left join users u on u.id=a.author
        left join comments k on a.id=k.article_id 
   where a.active=1 $add_cat group by a.id desc limit $start , $limit
meris
Profil
Řekl bych že se nejedná o chybu v dotazu, ale o problém malinko jinde, možná při procházení vrácených dat překračuješ o jedna mez pole. Ale chtělo by to vidět ostatní část zdrojáku
unlucky
Profil
tady je celý zdrojový kód. Stejný dotaz v databázi funguje bez problému

<?php
$db_name = 'fadf';  // MySQL database name
$db_user = 'eafdfouk';  // MySQL username
$db_pass = 'afds';  // MySQL password
$db_host = 'localhost';
@mysql_connect($db_host,$db_user,$db_pass) or die ("Sql server error, main error <br /> Pls wait few minutes and try again");
@mysql_select_db($db_name);


  $news_sql=mysql_query("
select a.*,u.id as uid,u.user as autor, a.id as idik,count(k.id) as nr_comments, DATE_FORMAT(`added`, '%e.%M.%Y' ) AS datum,
DATE_FORMAT(`added`, '%e' ) AS den, DATE_FORMAT(`added`, '%M' ) AS mesic 
      from articles a left join users u on u.id=a.author
      left join comments k on a.id=k.article_id 
 where a.active=1 group by a.id desc limit 0,5
 
 ");
 echo mysql_errno($news_sql) . ": " . mysql_error($news_sql). " -><br />$news_sql \n";
while($zaz_news=mysql_fetch_assoc($news_sql)){
 echo "..";
}

?>
unlucky
Profil
tak jsem konečně přišel na problém a nemohu ho vyřešit:

if(!isset($_GET['page'])){
  $page=1;
}else{
  $page=ochrana_sql($_GET['page']);
}

$limit=5;
$start = ($page - 1) * $limit;

$news=show_news($start,$limit,1,0);


Když takto zadám start a limit do funkce, tak hlásí warning. Když ale ručně zadám, tak funguje.
Přitom proměnné tam jsou. ( nula a pět - vypsal jsem si je a ručně tam narval)
unlucky
Profil
ví někdo příčinu prosím?
YoSarin
Profil
Pokud něco nefunguje a neobjevuje se žádná chyba, tak první co bys měl udělat je odstranit všechny @ před voláními funkcí. Je možné že došlo k nějakému problému s připojením k databázi...
unlucky
Profil
po 3 dnech je problém konečně vyřešen. Konflikt v htaccess

ErrorDocument 404 /index.php?page=error

#strankovani main
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^stranka-([0-9]+)/?$ index.php?page=$1 [L,QSA]


ale nechápu, když stránka existuje a dokonce page píše že je 5 ...

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:

0