[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql_fetch_row(): supplied argument is not a vali
fr1k3r
Код:
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); )

Что не так, подскажите пожалуйста? sad.gif



Спустя 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();

Думаем:"Не тот ресурс? Хмм.." Идём к
$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. Имя таблицы должно быть так Пример:
 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);

Выдается та же ошибку, что и в самом начале...

Мозг кипит, вроде всё верно, но в чем проблема? sad.gif

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

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.