Autor | Zpráva | ||
---|---|---|---|
unlucky Profil |
#1 · Zasláno: 28. 5. 2011, 23:49:59 · Upravil/a: unlucky
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 |
#2 · Zasláno: 29. 5. 2011, 15:23:04
Ř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 |
#3 · Zasláno: 29. 5. 2011, 20:31:17 · Upravil/a: unlucky
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 |
#4 · Zasláno: 29. 5. 2011, 23:00:27 · Upravil/a: unlucky
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 |
#5 · Zasláno: 29. 5. 2011, 23:15:56
ví někdo příčinu prosím?
|
||
YoSarin Profil |
#6 · Zasláno: 29. 5. 2011, 23:30:21
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 |
#7 · Zasláno: 29. 5. 2011, 23:33:22
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 ... |
||
Časová prodleva: 13 let
|
0