- Автор темы
- #1
Вот взялся за очень нужный общественный проэкт(на чистом энтузиазме), но пока знания не позволяют все делать самому и быстро...
В общем получил движок в распоряжение, от которого пропала база. Движок не публичный, поэтому он есть еще только у одного человека, у которого база и потерялась. пришлось самому собирать её.
Вопрос таков.. Основной из главных проблем сейчас это вот эта ошибка : mysql_num_rows( supplied argument is not a valid MySQL result resource in z:\home\localhost\www\cup\index.php on line 52(или любая другая строчка и файл...смысл там одинаков)
Хочу на примере исправления одного из таких случаев понять как дальше с этим бороться..
Вот один из кусочков кода где возникает эта ошибка :
Как я понял сначала в переменную $sql_pn я из БД таблицы players отбираю поля "players.name, players.pos_a, sum(results.points) as pnts FROM players, results
WHERE players.id=results.pl_id group by pl_id order by pnts desc limit 0,10"
и потом в $result_pn записывается результат запроса с помощью ф-ции mysql_query...
Но что-то я создал в БД таблицу players с гарафами countr_id, players.name, players.pos_a, sum, results и ничего не помогло... Что я не правильно делаю? Я так понимаю что все неправильно..
В общем получил движок в распоряжение, от которого пропала база. Движок не публичный, поэтому он есть еще только у одного человека, у которого база и потерялась. пришлось самому собирать её.
Вопрос таков.. Основной из главных проблем сейчас это вот эта ошибка : mysql_num_rows( supplied argument is not a valid MySQL result resource in z:\home\localhost\www\cup\index.php on line 52(или любая другая строчка и файл...смысл там одинаков)
Хочу на примере исправления одного из таких случаев понять как дальше с этим бороться..
Вот один из кусочков кода где возникает эта ошибка :
PHP:
<?php
$sql_pn = "SELECT players.countr_id, players.name, players.pos_a, sum(results.points) as pnts FROM players, results
WHERE players.id=results.pl_id group by pl_id order by pnts desc limit 0,10";
$result_pn = mysql_query($sql_pn, $conn);
if (mysql_num_rows($result_pn)) { *//Строчка №52:)
$c=0;
$pos=0;
$prev_pnts=-1;
while ($qry_pn=mysql_fetch_array($result_pn)) { $c++;
if ($prev_pnts!=$qry_pn["pnts"]) $pos++;
if($pos<10) echo " ";
echo $pos.". ";
/*
if ($qry_pn["pos_a"]>$pos || !$qry_pn["pos_a"]) echo "<img src=img/up.gif>";
else if ($qry_pn["pos_a"]<$pos) echo "<img src=img/down.gif>";
else echo " - ";
echo " ";
*/
if ($qry_pn["countr_id"]) {
$sql_c = "SELECT * FROM countries WHERE id=".$qry_pn["countr_id"];
$result_c = mysql_query($sql_c, $conn);
if (mysql_num_rows($result_c)) {
$qry_c=mysql_fetch_array($result_c);
echo "<img border=0 src=".$countr_pic_small_path.$qry_c["pic_small"]." alt='".$qry_c["name"]."'>";
}
}
echo " ".$qry_pn["name"]." - ".$qry_pn["pnts"]." ".$txt_pts."<br>";
$prev_pnts=$qry_pn["pnts"];
}
}
?>
WHERE players.id=results.pl_id group by pl_id order by pnts desc limit 0,10"
и потом в $result_pn записывается результат запроса с помощью ф-ции mysql_query...
Но что-то я создал в БД таблицу players с гарафами countr_id, players.name, players.pos_a, sum, results и ничего не помогло... Что я не правильно делаю? Я так понимаю что все неправильно..