Jump to content
  • 0

Ошибка mysql_affected_rows()


Alex&R
 Share

Question

В чем может быть ошибка

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in Z:\home\freeplace.com.ua\www\admin\news-admin.php on line 185

Вот сам код(185 выделен "!!!"):

<?
/*
Число новостей на страницу
*/
$per_page=10;
?>
<table cellpadding=2 cellspacing=2>
<tr><td>
<?
@$action=$_GET['action'];

switch($action):

/*
Если значение $action не определено
*/
case ””:
$action='edit';
break;

/*
Если нужно вывести форму для добавления текста новой новости
*/
case ”add”:
?>
<FORM ACTION="news-admin.php?action=insert" METHOD="post">
<TABLE WIDTH="600" BORDER=0 CELLPADDING=4 CELLSPACING=0 ALIGN="center" >

<TR><TD WIDTH="25%"><b>Тема новости</b></A></TD>
<TD WIDTH="70%"><INPUT TYPE="text" NAME="tema" SIZE="70"
MAXLENGTH="80" VALUE=""></TD></TR>
<TR><TD WIDTH="25%"><b>

Кто добавил</b></A></TD>
<TD WIDTH="70%"><INPUT TYPE="text" NAME="author" SIZE="20"
MAXLENGTH="80" VALUE=""></TD></TR>
<TR><TD WIDTH="25%"><b>Дата</b></A></TD>

<TD WIDTH="70%"><INPUT TYPE="text" NAME="date"
SIZE="20" MAXLENGTH="80"
VALUE="<?=date("Y-m-d");?>"></TD></TR>
<TR><TD WIDTH="100%" COLSPAN=2><b>
Текст новости</b></A></TD></TR>

<TR><TD WIDTH="100%" COLSPAN=2 ALIGN="center">
<TEXTAREA NAME="text" ROWS="10" COLS=”80”></TEXTAREA></TD></TR>

<TR><TD WIDTH="100%" COLSPAN=2 ALIGN="right">
<INPUT TYPE="submit" VALUE="Опубликовать новость">
</TD></TR></TABLE>

</FORM>
<?
break;

/*
Если нужно вставить текст новой новости в таблицу NEWS
*/
case ”insert”:

/*
Перед вставкой новости в таблицу базы данных добавляем к
символам ‘ символ (так называемый слэш, или slash).
Это необходимо для того, чтобы при вставке данных в БД не прозошло ошибки.
В текст, хранимом в БД после записи, не будет символов ’ – после вставки
они автоматически заменятся на ‘
*/
$tema=addslashes($tema);
$author=addslashes($author);
$date=addslashes($date);
$text=addslashes($text);
$sql="INSERT INTO `news`
VALUES ('','".$tema."','".$author."','".$date."','".$text."')";
$result=mysql_query($sql);
if (!$result) {echo "<script>alert('Ошибка при выполнении запроса к

БД!');</SCRIPT>";}
else {echo "<script>alert('Новость добавлена.');</SCRIPT>";}
echo "<script>self.location.replace('news-admin.php');</SCRIPT>";
break;

case ”edit”:

/*
Подсчет числа новостей в таблице NEWS и вывод их постранично
*/
if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
$start=abs($page*$per_page);

$q="SELECT count(*) FROM news";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_rows=$row[0];


$sql="SELECT * FROM `news` ORDER BY `id` DESC LIMIT ".($page*$per_page).",".$per_page;
$result=mysql_query($sql);
$num_results=mysql_num_rows($result);

$num_pages=ceil($total_rows/$per_page);

echo "<div align=right>";

for($i=1;$i<=$num_pages;$i++)
{
if ($i-1 == $page)
{
echo

"[".(abs($i*$per_page)-$per_page+1)." - ".abs($i*$per_page)."] ";
} else
{
echo '[<a

href="news-admin.php?page='.$i.'">'.(abs($i*$per_page)-$per_page+1)." - ".abs($i*

$per_page)."</a>] ";
}
} echo "</div>";

echo "<TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=5>";

for ($i=0; $i<$num_results; $i++)
{
$row=mysql_fetch_array($result);
$id=$row["id"];
$author=$row["author"];
$date=$row["date"];
$text=$row["text"];
$tema=$row["tema"];

echo '

<TR><TD COLSPAN=2><b>'.$id.'. '.$tema.'</b>

</TD></TR>
<TR><TD COLSPAN=2><B>Автор:</B> '.$author.'
[<a href="news-admin.php?action=edit-news&id-news='.$id.'">Редактировать

новость</a>]
[<a href="news-admin.php?action=delete&id-news='.$id.'">Удалить новость</a>]
</TD></TR>

<TR><TD COLSPAN=2 CLASS=normal>'.$text.'
</TD></TR>
';
}
echo "</TABLE><br><div align=right>";

for($i=1;$i<=$num_pages;$i++)
{
if ($i-1 == $page)
{
echo

"[".(abs($i*$per_page)-$per_page+1)." - ".abs($i*$per_page)."] ";
} else
{
echo '[<a

href="news-admin.php?page='.$i.'">'.(abs($i*$per_page)-$per_page+1)." - ".abs($i*

$per_page)."</a>] ";
}
} echo "</div><br>";

break;

/*
Если нужно отредактировать конкретную новость
*/
case ”edit-news”:

$id_news=$_GET['id-news'];

/*
Создаем запрос на вывод конкретной новости (по значению ее поля ID)
*/
$conn = mysql_connect("localhost", "Admin", "remoteroot")
or die("Could not connect : " . mysql_error());
mysql_select_db("mysite");
mysql_query('SET NAMES utf8');
$sql="SELECT * FROM `news` WHERE `id`=".$id_news;
$result=mysql_query($sql);
$num_results=mysql_fetch_array($result); !!!!!!!!!!!!!!!!!!!

for ($i=0; $i<$num_results; $i++)
{
$row=mysql_fetch_array($result);
$id=$row["id"];
$author=$row["author"];
$date= $row["date"];
$text=$row["text"];
$tema=$row["tema"];

echo '
<FORM ACTION="../news.php?action=update" METHOD="post">

<TABLE WIDTH=600 BORDER=0 CELLSPACING=0 CELLPADDING=4>
<TR><TD width=100>Тема:</td><td> <INPUT TYPE=text NAME=tema

VALUE="'.$tema.'" SIZE=80></td></tr>
<tr><td width=100>Дата:</td><td><INPUT TYPE=text NAME=date

VALUE="'.$date.'" size=20>

</TD></TR>
<TR><TD CLASS=normal

width=100><B>Автор:</B></td><td><INPUT TYPE=text SIZE=20

NAME=author VALUE="'.$author.'">
</TD></TR>

<TR><TD COLSPAN=2 CLASS=normal><TEXTAREA NAME="text" ROWS="15"

COLS=80>'.$text.'</TEXTAREA>
</TD></TR>
<TR ALIGN=center><TD WIDTH="100%" colspan=2 align=right>
<INPUT TYPE="hidden" NAME="idup" VALUE="'.$id.'">

<INPUT TYPE="submit" VALUE="Сохранить измененную новость">
</TD></TR></TABLE><BR><BR></FORM>
';
}
break;

/*
Если нужно обновить текст какой-либо новости
*/
case ”update”:

$tema=addslashes($tema);
$author=addslashes($author);
$date=addslashes($date);
$text=addslashes($text);

/*
Создаем запрос для обновления данных в конкретной строке
таблицы NEWS (Эта строка опять же определяется по значению поля ID)
*/
$sql="UPDATE `news` SET

`tema`='".$tema."',`date`='".$date."',`text`='".$text."',`author`='".$author."' WHERE

`id`='".$idup."'";
$result=mysql_query($sql);
if (!$result) {echo "<script>alert('Ошибка при выполнении запроса к

БД!');</SCRIPT>";}
else {echo "<script>alert('Новость изменена.');</SCRIPT>";}
echo "<script>self.location.replace('news-admin.php');</SCRIPT>";
break;

/*
Если нужно удалить новость
*/
case ”delete”:

$tema=addslashes($tema);
$author=addslashes($author);
$date=addslashes($date);
$text=addslashes($text);

/*
Создаем запрос на удаление конкретной новости.
Для определения номера этой новости используется поле ID.
Теперь видите, для чего было нужно это поле в таблице NEWS?
*/
$sql="DELETE FROM `news` WHERE `id`='".$iddel."'";
$result=mysql_query($sql);
if (!$result) {echo "<script>alert('Ошибка при выполнении запроса к

БД!');</SCRIPT>";}
else {echo "<script>alert('Новость удалена.');</SCRIPT>";}
echo "<script>self.location.replace('news-admin.php');</SCRIPT>";
break;
?>

</DIV></td></tr></table>
<?
endswitch;
?>

Edited by Alex&R
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy