| 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: 15 let
|
|||
0