Autor Zpráva
unlucky
Profil
zkopíroval jsem si skript z nedávno vytvořeného webu na nový web. Všechno to tam funguje.
Na novém webu mi ale hlásí error, že je špatně napsaný dotaz. Přitom používám stejnou databázi jako starý web a nic jsem neměnil?

if(!isset($_GET['page'])){
  $page=1;
}else{
  $page=ochrana_sql($_GET['page']);
} 
$limit=5;
$start = ($page-1) * $limit;
 
$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
      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 $start,$limit
 
 ");
ShiraNai7
Profil
unlucky:
ale hlásí error

Jaký?
unlucky
Profil
[18-May-2011 12:06:37] PHP Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/xxx/public_html/xxx/index.php on line 19

což je

while($zaz_news=mysql_fetch_assoc($news_sql)){

ShiraNai7
Profil
unlucky:
Po mysql_query() k tomuto dotazu si přidej následující řádek:
echo mysql_error();
unlucky
Profil
ShiraNai7:
nic se nebojevuje. Normálně se všechno zobrazuje, akorát v error logu jsou ty varování
ShiraNai7
Profil
unlucky:
echo mysql_error(); hned po $news_sql=mysql_query... musí vypisovat chybu.
unlucky
Profil
nezobrazuje...

akorát když jsem změnil jméno souboru na news.php tak je to bez hlášení... (předtím index)

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^novinky/([0-9]+)/?$ news.php?page=$1 [L,QSA]
RewriteRule ^novinky/?$ news.php?a=d [L,QSA]
ShiraNai7
Profil
unlucky:

$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
      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 $start,$limit
 
 ");
 
 
 echo '*******************************************************';
 echo mysql_error();
 var_dump($news_sql);
 die('*******************************************************');
unlucky
Profil
resource(6) of type (mysql result)
ShiraNai7
Profil
unlucky:
Tak v tom případě někde $news_sql přepisuješ nebo je ta chyba v úplně jiném souboru.
unlucky
Profil
ShiraNai7:
nikde jsem nic neměnil ani nepřepisoval. Zkopíroval jsem celou stránku. V konfigu poue spojení s dbz, shodný se starým webem

<?php
include("config.php");

if(!isset($_GET['page'])){
  $page=1;
}else{
  $page=ochrana_sql($_GET['page']);
} 
$limit=1;
$start = ($page-1) * $limit;
 
$news_sql=mysql_query("
select a.*,u.id as uid,u.full_name as autor, a.id as idik,count(k.id) as nr_comments, DATE_FORMAT(`added`, '%e.%m.%Y' ) AS datum
      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 $start,$limit
 
 ");
while($zaz_news=mysql_fetch_assoc($news_sql)){

atd..



ale jak říkám, v indexu mi to hází varování, v news.php mi to jede v pořádku
ShiraNai7
Profil
unlucky:
Hele - pokuď je to "resource(6) of type (mysql result)", tak to nemůže hlásit, že "PHP Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource".

v indexu mi to hází varování

Dej ten kód, co jsem psal, tam, kde to hází chybu.. logicky.
unlucky
Profil
ShiraNai7:
zde je celá stránka

<?php
include("config.php");

if(!isset($_GET['page'])){
  $page=1;
}else{
  $page=ochrana_sql($_GET['page']);
} 
$limit=1;
$start = ($page-1) * $limit;
 
$news_sql=mysql_query("
select a.*,u.id as uid,u.full_name as autor, a.id as idik,count(k.id) as nr_comments, DATE_FORMAT(`added`, '%e.%m.%Y' ) AS datum
      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 $start,$limit
 
 "); 

 echo '*******************************************************';
 echo mysql_error();
 var_dump($news_sql);
 die('*******************************************************'); 
 
while($zaz_news=mysql_fetch_assoc($news_sql)){
  $src='';
  $content=substr_word_count(strip_tags($zaz_news['content']),100);
  preg_match('~<img.*?src=["\']?(\S*?)["\'>\s]~',$zaz_news['content'],$matches);
  
  $src = $matches[1];
  unset($matches);
  if($src!=''){
    $thumb=get_thumb($src);
    
    $news_img="<img src='$thumb' alt='$zaz_news[title]' class='alignleft news_thumb' />";    
  }else{
    $news_img='';
  }

  $news_list.="xxx  ";

}


$smarty->display("index.tpl");

?>
ShiraNai7
Profil
unlucky:
Kde ta chyba má teda být? V index.php nebo v news.php?
Ten kód musíš dát do toho souboru, kde máš problém. Hned za řádek, kde máš definuješ "$news_sql".

if(!is_resource($news_sql)) die('SQL Error: '.mysql_error());
unlucky
Profil
ShiraNai7:
stejný kód hlásí chyby v index.php ale nikoli v news.php (/clanky)

ShiraNai7:
if(!is_resource($news_sql)) die('SQL Error: '.mysql_error());

nehlásí mi error ...
ShiraNai7
Profil
unlucky:
Tak tam žádný error není, něco děláš špatně a já nejsem schopný se v tom teda vyznat. Kdyby se normálně spustil ten kód a nastala by chyba, tak by se zobrazila.
unlucky
Profil
nehlásí chybu, ale v error logu se objevuje varování v index.php (v news.php - /clanky nehlásí)

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