Проблем с numrows

CosaNostra

Registered
Здравейте!

Появява ми се следната грешка:
Warning: mysql_numrows() expects parameter 1 to be resource, boolean given in C:\XAMPP\htdocs\scores.php on line 58

В този код:

$query="SELECT * FROM $table_name WHERE rank='0' ORDER BY `respect` DESC LIMIT $limit,$pp";
$result=mysql_query($query);

$num=mysql_numrows($result);

Искам да попитам по-точно защо ми дава грешка на $num=mysql_numrows($result); ? До преди няколко месеца си работеше идеално, но сега като го погледнах и ми даде грешка?
 
Код:
$query="SELECT * FROM `tablica` WHERE `rank`=0 ORDER BY `respect` DESC LIMIT $limit,$pp";
$result=mysql_query($query);

$num=mysql_num_rows($result);
 
Nazi_93 каза:
Код:
$query="SELECT * FROM `tablica` WHERE `rank`=0 ORDER BY `respect` DESC LIMIT $limit,$pp";
$result=mysql_query($query);

$num=mysql_num_rows($result);

В предишното си мнение казах, че пробвах и не става...

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\XAMPP\htdocs\scores.php on line 58
 
Понякога проблема може да е по-нагоре в редовете.. дай от 55-56 до 60 ред...
 
$pp = "19";
//колко резултата на страница

if (isset($page)){ $page=$_GET['page']; } //присвояваме стойността на page

if(!isset($_GET['page'])) //ако не е взета page да върне 1-ца
{
$page="1";
}

$limit = ($pp*(isset($page)))-$pp; //определяме лимитирането

mysql_connect($server, $dbusername, $dbpassword)or die("1111");
@mysql_select_db($db_name) or die("2222");
$redove=mysql_query("SELECT * FROM $table_name WHERE unrank='0'");

$max=mysql_numrows($redove); //преброяваме редовете
$total=ceil($max/$pp); //пресмятаме броя на страниците

mysql_connect($server, $dbusername, $dbpassword)or die("3333");
@mysql_select_db($db_name) or die("4444");
$query="SELECT * FROM $table_name WHERE unrank='0' ORDER BY `respect` DESC LIMIT $limit,$pp";
$result=mysql_query($query);

$num=mysql_num_rows($result);

Надолу вече започват да се извеждат резултатите ( които ги няма заради грешката... )
 
$num=mysql_num_rows((int) $result);

Нема да стане по горния начин, се се усетих.Я кажи какво връща $result .
 
alex3 каза:
$num=mysql_num_rows((int) $result);

Нема да стане по горния начин, се се усетих.Я кажи какво връща $result .

В какъв смисъл какво връща result?
 
Nazi_93 каза:
Абе човек,това $num=.... ти после сравняваш ли го с нещо (1,0?)

Да, сравнявам го.

$num=mysql_num_rows($result);

echo "<table style='font-size: 12px;'>";

$i=0;

while ($i < $num) {

//Тука изкарвам резултатите

}
echo "</table>";
 
Nazi_93 каза:
Абе човек,това $num=.... ти после сравняваш ли го с нещо (1,0?)
Може да се ползва и без да има никакво сравнение.
PHP:
<?php
$result = mysql_query("SELECT * FROM '$table_name' WHERE `rank`='0' ORDER BY `respect` DESC LIMIT $limit,$pp") or die(mysql_error());
$num = mysql_numrows($result);
?>
 
В заявката ти е грешката. Може да си объркал името на таблицата или тия променливи при лимита да са празни, погледни я.
 
Прегледах кода... пооправих го и сега ми се появи следното:
Undeclared variable: -19

Мисля, че е от $pp = "19"; резултати на страница, но не знам как да го оправя... пробвах няколко начина, но не станаха...
 
tedo96 каза:
Сложи тези променлвии в такива кавички ' $promenliwa '

Направих ги и ето резултата
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''0','19'' at line 1
 
Абе да не се пее*ава от това,че лимитът нали е число и си го оградил в ''?
 

Back
Горе