function show($cook,$page)
{
$lmin=($page-1)*10;
$lmax=$lmin+10;
$sth1=mysql_query("select id,news,date from albanews order by id desc limit $lmin,$lmax");
$head="Новости";
echo "<p align=center>$head</p>";
echo " <table width='760' border='0' align='center' cellpadding='0' cellspacing='3'>
<tr> </tr>";
if($sth1)
{
while(list($id,$news,$date)=mysql_fetch_row($sth1))
{
echo"<tr>
<td bgcolor='#000000'><table width='100%' height='100%' border='0' cellpadding='0' cellspacing='1'>
<tr>
<td bgcolor='#FFFFFF'><p>$date<br>
$news<br>";
if($cook==1){echo "<p><a href='index.php?act=ed&id=$id'>Редактировать</a>
<a href='index.php?act=del&id=$id'>Удалить</a></p>";}
echo "</p></td>
</tr>
</table></td>
</tr>";
}
}
echo "</table>";
$sth2=mysql_query("select count(id) from albanews");
$data2=mysql_fetch_row($sth2);
$tmp=$data2[0]/10;
$cp=intval($tmp);
if($tmp>$cp){$cp++;}
echo "<p align=center>";
for($i=1;$i<=$cp;$i++)
{
if($i!=$page)
{
echo "<a href='index.php?act=shownews&id=$id&page=$i'>$i</a> ";
}
else{echo"$i ";}
}
echo "</p>";
if($cook==1){echo "<p align=center><a href='index.php?act=add&id=$maxim'>Добавить новость</a></p>
<p align=center><a href='prod.php?act=noadmin'>Закончить администрирование</a></p>";}
}
Ошибка: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /.../index.php on line 67 (это 67я: $data2=mysql_fetch_row($sth2); )
Что не так, подскажите пожалуйста?

Спустя 11 минут, 46 секунд (2.02.2010 - 00:15) vital написал(а):
Сделай так
И посмотри что выведет. Тебе в ошибке написано, что передаваемый аргумент - это не рез-т запроса => ПРи Запросе в бд была ошибка.
$sth2=mysql_query("select count(id) from albanews") or die(mysql_error());
И посмотри что выведет. Тебе в ошибке написано, что передаваемый аргумент - это не рез-т запроса => ПРи Запросе в бд была ошибка.
Спустя 13 минут, 51 секунда (2.02.2010 - 00:29) Ice написал(а):
supplied argument is not a valid MySQL result resource
А ресурс у нас - это то, что отправляется в наш mysql_result();
Думаем:"Не тот ресурс? Хмм.." Идём к
и видим, что у нас там COUNT(), а она (функция) вернет нам число записей в нашей таблице, удовлетворяющих заданному условию, если, конечно, оно есть. В противном случае, она вернёт число строк во всей таблице. Так вот... COUNT() возвращает число, а, спустившись чуть ниже:
мы,вдруг, обнаруживаем, что мы требуем уже неассоциативный массив! Вот и конфликт, о котором нам и сообщает интерпретатор РНР.
---
Рискну предположить, что, всё же, ожидается число. А тогда следует воспользоваться функцией mysql_result():
Всё. Теперь в переменной data хранится число.
А ресурс у нас - это то, что отправляется в наш mysql_result();
Думаем:"Не тот ресурс? Хмм.." Идём к
$sth2 = mysql_query("select count(id) from albanews");
и видим, что у нас там COUNT(), а она (функция) вернет нам число записей в нашей таблице, удовлетворяющих заданному условию, если, конечно, оно есть. В противном случае, она вернёт число строк во всей таблице. Так вот... COUNT() возвращает число, а, спустившись чуть ниже:
$data2 = mysql_fetch_row($sth2);
мы,вдруг, обнаруживаем, что мы требуем уже неассоциативный массив! Вот и конфликт, о котором нам и сообщает интерпретатор РНР.
---
Рискну предположить, что, всё же, ожидается число. А тогда следует воспользоваться функцией mysql_result():
$data2 = mysql_result($sth2, 0);
Всё. Теперь в переменной data хранится число.
Спустя 15 минут, 15 секунд (2.02.2010 - 00:44) anonymouse написал(а):
Если я не совсем того то просто не правильный запрос.
1. Имя таблицы должно быть так Пример:
В MySQL есть зарезервированные слова так у меня было с таблицай (index) так что советую делать как сказал выше.
2. Возможно аргумент что та запрашивал а в нашем случае ID его просто нету ( в смысле нету такого столбца )
1. Имя таблицы должно быть так Пример:
SELECT * FROM `Table_name`
В MySQL есть зарезервированные слова так у меня было с таблицай (index) так что советую делать как сказал выше.
2. Возможно аргумент что та запрашивал а в нашем случае ID его просто нету ( в смысле нету такого столбца )
Спустя 51 минута, 55 секунд (2.02.2010 - 01:36) fr1k3r написал(а):
Всем спасибо, итак:
Цитата |
1. Имя таблицы должно быть так Пример: |
Имя таблицы такое и есть:
SELECT * FROM `albanews`
Цитата |
Сделай так $sth2=mysql_query("select count(id) from albanews") or die(mysql_error()); |
Выдает "No database selected"
Цитата |
$data2 = mysql_result($sth2, 0); |
Выдается та же ошибку, что и в самом начале...
Мозг кипит, вроде всё верно, но в чем проблема?

Спустя 18 минут, 50 секунд (2.02.2010 - 01:55) Ice написал(а):
Нет, не верно, но в коде этого нет. Не выбрана база, с которой предполагается работать:
mysql_select_db('имя_базы') or die(mysql_error());