Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY pos' at line 3
 
 автор: сотка   (10.01.2012 в 21:44)   письмо автору
 
 

<?php

  error_reporting
(E_ALL & ~E_NOTICE);
// Подключаем SoftTime FrameWork
  
require_once("config/class.config.php");
 
// Устанавливаем соединение с базой данных
  
require_once("config/config.php");


try
{

  
  
//выводим корневые разделы картинок
$query "SELECT * FROM $tbl_yava_position
         WHERE id_catalog = 
$_GET[id_catalog] 
                           ORDER BY pos " 
;
    
$yava mysql_query($query);
    if (!
$yava) exit("Ошибка при обращении к блоку позиций каталогов");
    if(
mysql_num_rows($yava))
    {
      while(
$catalog mysql_fetch_array($yava))
      {
 
        
//выводим данные
      
}
    }


      }
       catch(
ExceptionMySQL $exc)
  {
    require_once(
"exception_mysql_debug.php");
  }
  catch(
ExceptionMySQL $exc)
  {
    require_once(
"exception_mysql_debug.php"); 
  }
  catch(
ExceptionMember $exc)
  {
    require_once(
"exception_member_debug.php"); 
  }
      
     
?>


выводит Ошибка при обращении к блоку позиций каталогов


CREATE TABLE system_yava_position (
  id_position int(11) NOT NULL auto_increment,
  `name` tinytext NOT NULL,
  `boby` text NOT NULL,
  yava tinytext NOT NULL,
  small tinytext NOT NULL,
  big tinytext NOT NULL,
  hide enum('show','hide') NOT NULL default 'show',
  pos int(11) NOT NULL default '0',
  id_catalog int(11) NOT NULL default '0',
  PRIMARY KEY  (id_position)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251;

  Ответить  
 
 автор: Slo_Nik   (10.01.2012 в 21:53)   письмо автору
 
   для: сотка   (10.01.2012 в 21:44)
 

а Вы допишите в строке, чтобы видеть какая ошибка

<?php 
if (!$yava) exit("Ошибка при обращении к блоку позиций каталогов".mysql_error()."<br />".mysql_errno());
?>


и в error_reporting() уберите & ~E_NOTICE, так будете видеть все ошибки/предупреждения/замечания...

  Ответить  
 
 автор: сотка   (10.01.2012 в 21:58)   письмо автору
 
   для: Slo_Nik   (10.01.2012 в 21:53)
 

Ошибка при обращении к блоку позиций каталогов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 'ORDER BY pos' at line 3
1064


не вижу ошибки я в запросе....(((

  Ответить  
 
 автор: Slo_Nik   (10.01.2012 в 22:04)   письмо автору
 
   для: сотка   (10.01.2012 в 21:58)
 

почему Вы не выводите $query в браузер для визуального контроля, что попадает в запрос...
ошибка у Вас скорей всего здесь id_catalog = $_GET[id_catalog]

берите в запросе имена таблицы и имена полей в обратные кавычки `table_name`, данные заключайте в прямые одинарные кавычки. числа можно не заключать...
и не подставляйте в запрос динамические данные так как Вы сделали с $_GET['id_catalog']
надо обязательно обрабатывать такие данные, в данном случае можно обработать функцией intval()

<?php 
 $id_catalog 
= isset($_GET['id_catalog']) ? intval($_GET['id_catalog') : null;
//потом уже $id_catalog подставляйте в запрос
?>


p.s. ошибка 1064 гласит: "%s рядом с ' %s' в строке N", обычно эта ошибка из-за кавычек, запятых и т.п. возникает

  Ответить  
 
 автор: cheops   (10.01.2012 в 22:06)   письмо автору
 
   для: сотка   (10.01.2012 в 21:58)
 

Выведите весь запрос в окно браузера, скорее всего $_GET[id_catalog] не заполнено, но убедиться в этом можно только после того, как запрос будет отображен.

  Ответить  
 
 автор: сотка   (10.01.2012 в 22:09)   письмо автору
 
   для: cheops   (10.01.2012 в 22:06)
 

каким образом можно вывести подскажите?

  Ответить  
 
 автор: cheops   (10.01.2012 в 22:11)   письмо автору
 
   для: сотка   (10.01.2012 в 22:09)
 

Вместо
if (!$yava) exit("Ошибка при обращении к блоку позиций каталогов");
напишите более объемный обработчик
if (!$yava)
{
  echo "Ошибка при обращении к блоку позиций каталогов";
  echo "<pre>";
  echo $query;
  exit();
}

  Ответить  
 
 автор: сотка   (10.01.2012 в 22:17)   письмо автору
 
   для: cheops   (10.01.2012 в 22:11)
 

Ошибка при обращении к блоку позиций каталогов
SELECT * FROM system_yava_position
WHERE id_catalog =
ORDER BY pos

вы правы значит ошибка тут? таким образом идет ссылка на этот файл

echo "<div class=\"link\"><a href=jar.php?id_catalog=$yava[id_catalog]>{$yava[$i][name]}</a>&nbsp;";

  Ответить  
 
 автор: cheops   (10.01.2012 в 22:20)   письмо автору
 
   для: сотка   (10.01.2012 в 22:17)
 

Смотрите у вас $yava[$i][name], вероятно и вместо $yava[id_catalog] нужно использовать $yava[$i][id_catalog]

  Ответить  
 
 автор: сотка   (10.01.2012 в 22:24)   письмо автору
 
   для: cheops   (10.01.2012 в 22:20)
 

не помогает...
Ошибка при обращении к блоку позиций каталогов
SELECT * FROM system_yava_position
              WHERE id_catalog = [id_catalog] 
                           ORDER BY pos 


заключение в { } тоже самое

  Ответить  
 
 автор: cheops   (10.01.2012 в 22:29)   письмо автору
 
   для: сотка   (10.01.2012 в 22:24)
 

Что-то у вас странное в запрос попало, как выглядит HTML-код ссылки? Используете фигурные кавычки, чтобы HTML было именно значение?

  Ответить  
 
 автор: сотка   (10.01.2012 в 22:31)   письмо автору
 
   для: cheops   (10.01.2012 в 22:29)
 

<html>
<head>
<title>скачать приложения</title>
<meta name="keywords" content="скачать приложения">
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="logo"><img src="img/logo.png" /></div>

<div class="title">скачать приложения</div>
<div class="top_menu">
<a href="index.php"><span style="border-left: 1px solid #ffffff; padding: 6px; margin: 0px;">Главная</span></a>
<a href="news.php"><span style="border-left: 1px solid #ffffff; padding: 6px; margin: 0px;">Новости</span></a>
<a href="guestbook.php"><span style="border-left: 1px solid #ffffff; padding: 6px; margin: 0px;">Гостевая</span></a>
</div>
 
<div class="link"><a href=jar.php?id_catalog=[id_catalog]>программа</a>&nbsp;360.4 Кб </div><div class="razdel">&nbsp;[1-1]&nbsp;</div><div class="link"><a href='mp3_cat.php'>музыка</a></div><div class="link"><a href='flash_cat.php'>Flash</a></div><div class="link"><a href='gallery.php'>картинки</a></div><div class="link"><a href='index.php'>на главную</a></div><div class="reklama">
<a href="#">Скачать бесплатно</a>
<a href="#">скачать картинки 240х320</a>
<a href="#">лучшие новинки от ritlen-a</a>
</div>
<div class="banners">
<a href="http://waplog.net/c.shtml?416296"><img src="http://c.waplog.net/416296.cnt" alt="waplog" /></a>
</div>
<div class="copyright">© Ritlen.ru 2012</div>
</body>
</html>


это код с страницы yava.php

вот тут ошибка почему то...jar.php?id_catalog=[id_catalog]

  Ответить  
 
 автор: cheops   (10.01.2012 в 22:35)   письмо автору
 
   для: сотка   (10.01.2012 в 22:31)
 

И что же мы тут видим?
<a href=jar.php?id_catalog=[id_catalog]>программа</a>
А надо, чтобы тут было число.

  Ответить  
 
 автор: сотка   (10.01.2012 в 22:37)   письмо автору
 
   для: cheops   (10.01.2012 в 22:35)
 

ну да вместо [id_catalog] ....не понятно почему не передается то! в БД все гладко...все заполнено

  Ответить  
 
 автор: cheops   (10.01.2012 в 22:41)   письмо автору
 
   для: сотка   (10.01.2012 в 22:37)
 

PHP-код, формирующий ссылку как выглядит?

  Ответить  
 
 автор: сотка   (10.01.2012 в 22:52)   письмо автору
 
   для: cheops   (10.01.2012 в 22:41)
 

echo "<div class=\"link\"><a href=jar.php?id_catalog=$yava[$i][id_catalog]>{$yava[$i][name]}</a>&nbsp;";

  Ответить  
 
 автор: cheops   (10.01.2012 в 22:56)   письмо автору
 
   для: сотка   (10.01.2012 в 22:52)
 

Двумерные массивы невозможно интерполировать, заключайте их либо в фигурные скобки, либо выделяйте из строки двойными скобками и кавычками.
echo "<div class=\"link\"><a href=jar.php?id_catalog={$yava[$i][id_catalog]}>{$yava[$i][name]}</a>&nbsp;";

  Ответить  
 
 автор: сотка   (10.01.2012 в 23:00)   письмо автору
 
   для: cheops   (10.01.2012 в 22:56)
 

спасибо большое! Действительно ошибка была тут... а фигурные скобки плохим тоном не являются в программировании?

  Ответить  
 
 автор: cheops   (10.01.2012 в 23:13)   письмо автору
 
   для: сотка   (10.01.2012 в 23:00)
 

В программировании нет... скажем так в такой форме фигурные скобки пожалуй только в PHP и используются и вообще интерполяция переменных в строке не часто встретишь... Поэтому говорить о плохом тоне тут сложно... язык такой, правила его таковы, на мой вкус читается это проще, чем кавычки и точки. Однако, о вкусах не спорят, кому-то может показаться по-другому.

  Ответить  
 
 автор: сотка   (10.01.2012 в 23:24)   письмо автору
 
   для: cheops   (10.01.2012 в 23:13)
 

ясно! спасибо большое еще раз! Осталось по чуть и скрипт готов)))

  Ответить  
 
 автор: сотка   (10.01.2012 в 22:35)   письмо автору
 
   для: сотка   (10.01.2012 в 22:31)
 

т.е yava.php выводит название а jar.php описание скриншот

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования