Перейти к содержимому

Сервис обмена электронных валют

Выбрать шаблон и создать сайт

Ошибка MYSQL, помогите разобраться

#1 kokn

kokn
  • Пользователь
  • 14 сообщений
  • Репутация: 0
0

Отправлено 05 Февраль 2012 - 15:30

При открытии категории должен выводиться список статей, но выводит вот такую ошибку: 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 'desc,date,author,mini,view FROM data WHERE cat='4'' at line 1
помогите разобраться в чем дело...

Вот код полностью:
<?php  include ("blocks/db.php");
if (isset($_GET['cat'])) {$catg = $_GET['cat'];}
if (!isset($catg)) {$catg = 1;}

$result = mysql_query("SELECT * FROM categories WHERE id='$catg'",$db);
if (!$result)
{
echo "<p>запрос не прошел.Напишите об этом администратору<br /><strong>Код ошибки</strong> </p>";
exit (mesql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);

}
else
{
echo "<p>Информация по запросу не может быть извлеченна.В таблице нет записей.</p>";
exit();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="description" content="<? echo $myrow['meta_d']; ?>">
<meta name="keywords" content="<? echo $myrow['meta_k']; ?>">

<title><? echo "Заметки категории - $myrow[title]"; ?></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border">
<?php include ("blocks/head.php"); ?>
<tr>
<td valign="top"><table width="100%" border="0" align="left">
<tr><td width="31%" class="left"><table width="100%" border="0" align="left">
<tr valign="top"><td width="31%" class="left"><table width="100%" border="0" align="left">
<tr></tr>
<tr></tr>
<tr></tr>
<tr>
<?php include ("blocks/leftm.php"); ?>
<td valign="top">
<?

echo $myrow['text'];


$result = mysql_query("SELECT id,title,desc,date,author,mini,view FROM data WHERE cat='$catg'",$db);
if (!$result)
{
echo "<p>запрос не прошел.Напишите об этом администратору<br /><strong>Код ошибки</strong> </p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);

do
{
printf ("<table align='center' class='post'>
<tr>
<td class='post_title'>
<p class='post_name'><a href='view_post.php?id=%s'>%s</a></p>
<p class='post_adds'>Дата добавления: %s</p>
<p class='post_adds'>Автор урока: %s</p></td>
</tr>

<tr>
<td>%s<br> Просмотров: %s</td>
</tr>

</table><br><br>",$myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"], $myrow["desc"], $myrow['view']) ;
}
while($myrow = mysql_fetch_array($result));
}
else
{
echo "<p>Информация по запросу не может быть извлеченна.В таблице нет записей.</p>";
exit ();
}
?>




</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<?php include ("blocks/foot.php"); ?>
</table>
</body>
</html>

 

 

  • 0

#2 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 05 Февраль 2012 - 16:00

Зачем выкладывать весь код, если ошибку вернул сервер БД?
Ошибка в этом запросе:

	 
$result = mysql_query("SELECT id,title,desc,date,author,mini,view FROM data WHERE cat='$catg'",$db);

desc - это зарезервированное слово и потому полям лучше не давать подобные имена, но если уж поле названо так, то его имя нужно явно указывать в запросе, выделяя обратными кавычками. Так должно работать:
$result = mysql_query("SELECT `id`, `title`, `desc`, `date`, `author`, `mini`, `view` FROM data WHERE cat='$catg'",$db);

  • 1


#3 kokn

kokn
    Topic Starter
  • Пользователь
  • 14 сообщений
  • Репутация: 0

Отправлено 05 Февраль 2012 - 23:30

Большое спасибо!!! Помогло! Теперь будем знать)
  • 0

#4 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 06 Февраль 2012 - 08:53

Пожалуйста ;)
  • 0



Оформление форума – IPBSkins.ru