SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#376 08.08.2013 12:43:32

andreyRUS22
Участник
Зарегистрирован: 08.08.2013
Сообщений: 1

Re: Error 1064

В общем у меня такая ошибка

#1064 - 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 'id int(10), file varchar(255), count int(10), PRIMARY KEY (id)) DEFAULT CHARA' at line 1

Вот таблица :
CREATE TABLE IF NOT EXISTS `modx_downloads` (
  `id` int(11) NOT NULL,
  `file` varchar(225) NOT NULL,
  `count` int(11) NOT NULL,
  PRIMARY KEY (`id`)
);

Что я предпринимал- .Были версии,что во всем синоваты комментарии в дампе,а именно символ--.
Я экспортировал нужную таблицу,открывал в текстовике,удалял все комментарии и импортировал.но после опять экспортирования файла комментаррии автоматически писались.в общем не подошло.
Теперь опять экспортировал таблицу и открыл в Notepad++ ,поменял кодировку на ANSI и сохранил.а при импорте выбрал cp1251. Опять такая же ошибка
Решил поставить MYSQL40 в options.все равно мимо. Как еще устранить эту проблему?

Неактивен

 

#377 08.08.2013 23:41:38

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Error 1064

Запрос в сообщении об ошибке не такой, как приведенный в посте. Тот, который приведен в посте работает без ошибок.

Неактивен

 

#378 22.02.2014 07:48:22

kilocy
Участник
Откуда: http://ideluxe.net/
Зарегистрирован: 21.02.2011
Сообщений: 5

Re: Error 1064

Помогите решить проблему, обновлял движок DLE c версии 9.3 до 10.1 и в результате получил такую ошибку, как можно пофиксить, я не силен в этом деле по этому прошу помощи, пожалуйста.


MySQL error in file: /engine/modules/top.php at line 1
Error Number: 1064
The Error returned was:
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 'WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC' at line 1
SQL query:

SELECT id, title, date, alt_name, category, short_story dle_post WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,4


А первая строка в этом top.php такая

<?php $sql_result = $db->query( "SELECT id, title, date, alt_name, category, short_story,flag FROM " . PREFIX . "_post WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,4" );

Отредактированно kilocy (22.02.2014 07:51:17)

Неактивен

 

#379 22.02.2014 07:51:00

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Error 1064

Приведенный sql-запрос некорректный - не указана таблица, откуда достаются данные.
Нужно, чтобы запрос был похож на что-то такое:
SELECT id, title, date, alt_name, category, short_story dle_post FROM my_table WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,4


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#380 22.02.2014 07:53:17

kilocy
Участник
Откуда: http://ideluxe.net/
Зарегистрирован: 21.02.2011
Сообщений: 5

Re: Error 1064

deadka написал:

Приведенный sql-запрос некорректный - не указана таблица, откуда достаются данные.
Нужно, чтобы запрос был похож на что-то такое:
SELECT id, title, date, alt_name, category, short_story dle_post FROM my_table WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,4

поставил ваш запрос,получил другую ошибку

Parse error: syntax error, unexpected 'id' (T_STRING) in /home/user353/public_html/engine/modules/top.php on line 1

Неактивен

 

#381 22.02.2014 07:56:20

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Error 1064

В качестве my_table должна выступать таблица, из которой выбираются данные - ее названия я, конечно, не знаю. Подставьте нужное название. И к слову,
между
short_story dle_post
скорее всего помимо пробела должна еще запятая быть.
Если запрос опять не сработает, приведите его сюда полностью.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#382 22.02.2014 08:08:40

kilocy
Участник
Откуда: http://ideluxe.net/
Зарегистрирован: 21.02.2011
Сообщений: 5

Re: Error 1064

deadka написал:

В качестве my_table должна выступать таблица, из которой выбираются данные - ее названия я, конечно, не знаю. Подставьте нужное название. И к слову,
между
short_story dle_post
скорее всего помимо пробела должна еще запятая быть.
Если запрос опять не сработает, приведите его сюда полностью.

Спасибо вам за оперативную помощь, но я сам не знаю какой там запрос должен быть, пробовал ставить запятую, непомогло, придется отказаться от вывода топ новостей в одной колонки.
Но все равно я вам очень благодарен за отклик.

Неактивен

 

#383 22.02.2014 08:11:19

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Error 1064

Остаётся посоветовать обратиться на форум поддержки DLE, там, думаю, смогут сказать, что именно нужно сделать после обновления движка.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#384 22.02.2014 09:23:34

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Error 1064

Запрос должен иметь вид

SELECT id, title, date, alt_name, category, short_story, flag FROM dle_post WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,4

kilocy написал:

MySQL error in file: /engine/modules/top.php at line 1

А первая строка в этом top.php такая

<?php $sql_result = $db->query( "SELECT id, title, date, alt_name, category, short_story,flag FROM " . PREFIX . "_post WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,4" );

В файле у вас формируется правильный запрос, см выделенное.
Вы точно используете нужный файл? Возможно dle кэширует модули, обновление делаете по инструкции?

P.S. Когда разберетесь, отпишитесь, а то уже встречалась на форуме подобная ошибка.

Неактивен

 

#385 22.02.2014 10:01:22

kilocy
Участник
Откуда: http://ideluxe.net/
Зарегистрирован: 21.02.2011
Сообщений: 5

Re: Error 1064

vasya написал:

Запрос должен иметь вид

SELECT id, title, date, alt_name, category, short_story, flag FROM dle_post FROM my_table WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,4

kilocy написал:

MySQL error in file: /engine/modules/top.php at line 1

А первая строка в этом top.php такая

<?php $sql_result = $db->query( "SELECT id, title, date, alt_name, category, short_story,flag FROM " . PREFIX . "_post WHERE approve='1' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,4" );

В файле у вас формируется правильный запрос, см выделенное.
Вы точно используете нужный файл? Возможно dle кэширует модули, обновление делаете по инструкции?

P.S. Когда разберетесь, отпишитесь, а то уже встречалась на форуме подобная ошибка.

Я не знаю, решил проблему сказачным образом,очистил все таблицы НО базу не удалял, перезалил файлы движка DLE, и заново начал обновлять. И по окончанию не было ни одной ошибки, за исключением Дублей новостей, но эту проблему я решил очистив таблицу dle_post_extras. После очистил кеш на сайте и все заработала. Логически могу предположить что при обновлении не были выполнены SQL запросы самим движком, при повторном обновлении эти запросы обновились и все заработало.

Но честно я вашему форуму очень благодарен. Скорее всего ошибка была в том что было не очищена таблица dle_post_extras .

Неактивен

 

#386 14.11.2016 18:56:10

kulakowka
Участник
Зарегистрирован: 14.11.2016
Сообщений: 1

Re: Error 1064

Доброго времени суток! Помогите и мне пожалуйста. Поставил модуль системы тикетов в DLE и при попытке написать тикет выводит следующие ошибку:

MySQL error in file: /engine/modules/ticket-system-module.php at line 139
Error Number: 1064
The Error returned was:
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 '' at line 1
SQL query:

SELECT name, email, fullname FROM kulakowka_users WHERE user_id=

В чём может быть проблема? Спасибо.

Неактивен

 

#387 14.11.2016 19:30:56

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Error 1064

причина в некорректной работе модуля
после user_id= должно быть значение

Неактивен

 

#388 22.02.2017 15:24:52

rus_acer
Участник
Зарегистрирован: 22.02.2017
Сообщений: 2

Re: Error 1064

Помогите пожалуйста, два дня сижу борюсь с синтаксисом((

База:
-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- Хост: 127.0.0.1
-- Время создания: Фев 22 2017 г., 13:22
-- Версия сервера: 5.5.25
-- Версия PHP: 5.3.13

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- База данных: `sad`
--

-- --------------------------------------------------------

--
-- Структура таблицы `montaje`
--

CREATE TABLE IF NOT EXISTS `montaje` (
  `id` int(2) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `img` varchar(255) NOT NULL,
  `price` int(10) NOT NULL,
  `desc` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

И собственно код страницы:

<?
$dblocation = "localhost";
$dbname = "sad";
$dbuser = "sad";
$dbpass = "12345";

$connect = mysqli_connect ($dblocation, $dbuser, $dbpass, $dbname);
if(mysqli_connect_errno ()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error ();
}
               
$bd = mysqli_select_db ($connect,$dbname);

require_once ('../pat/head.php'); ?>
<body>
<div id="all">
    <div id="konteiner">
        <div id="verh">
            <? require_once ('../pat/logo.php');
            require_once ('pat/gmenu.php');
            require_once('../pat/main_img.php'); ?>
            <div id="par">
                <h1 align="center">Admin panel</h1>
                <?
                if($_FILES["file"]["size"] > 1024*3*1024) {
                    echo ("Размер файла превышает три мегабайта");
                    exit;
                }
                if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
                    echo "Дом успешно добавлен. Через 10 секунд Вы будете отправлены на главную страницу!<br />";
                   
                    $query = "select id from `montaje`";
                    $result = mysqli_query ($connect,$query);
                    $count = mysqli_num_rows ($result);
                    if($count > 0) { /* Если записи есть, то узнаем сколько и +1 и это будет номер новой папки */
                        $row = mysqli_fetch_array ($result);
                        echo"дома есть ";
                        $num = $row['id']; $num++; echo"НП№".$num;
                    } else { $num = 1;} /* Если записей нет, то создаем №1 */
                   
                    $ct = mkdir("../img/montaje/".$num."", 0777, true);
                    if (!$ct) {
                        echo"Не удалось создать директории...<br />
                        <input type='button' onclick='history.back()'>"; exit();
                    }
                   
                    move_uploaded_file($_FILES["file"]["tmp_name"], "../img/montaje/".$num."/".$_FILES["file"]["name"]);
                    rename("../img/montaje/".$num."/".$_FILES['file']['name'], "../img/montaje/".$num."/".$num.".jpg");
                    $img = $num.".jpg";
                } else { echo("Ошибка загрузки файла"); }
               
                if(!empty($_POST['name'])) { $name = $_POST['name']; } else { echo"Вы не ввели Заголовок<br />";}
                if(!empty($_POST['price'])) { $price = $_POST['price']; } else { echo"Вы не ввели Цену<br />";}
                if(!empty($_POST['desc'])) { $desc = $_POST['desc']; } else { echo"Вы не ввели Характеристики<br />";}
                if(empty($_POST['name']) or empty($_POST['price']) or empty($_POST['desc'])) { echo'<br /><input value="Назад" type="button" onclick="history.back()">'; exit();
                }
               
                echo"img=".$img."<br />";
                echo"name=".$name."<br />";
                echo"price=".$price."<br />";
                echo"desc=".$desc."<br />";       

                $query = "INSERT INTO `montaje` SET `name` = '".$name."', `img` = '".$img.", `price` = '".$price.", `desc` = '".$desc."'";
                $res = mysqli_query ($connect,$query);

                if($res == 'true') {
                    echo 'Ura!'; }
                    else { echo'mysqli_errno: '.mysqli_errno ($connect);
                }
                ?>
            </div>
        </div>
    </div>
</div>
<? require_once ('../pat/footer.php'); ?>
<!--<meta http-equiv="refresh" content="20; URL='index.php'" />-->
</body>
</html>

Выдает ошибку:
mysqli_errno: 1064

Неактивен

 

#389 22.02.2017 15:45:09

rus_acer
Участник
Зарегистрирован: 22.02.2017
Сообщений: 2

Re: Error 1064

Наконец-то разобрался со всем!)))
Раньше пользовался mysql, но он у меня что-то не работает и пришлось использовать именно mysqli. В таком коде пропущены одинарные кавычки:

$query = "INSERT INTO `montaje` SET `name` = '".$name."', `img` = '".$img.", `price` = '".$price.", `desc` = '".$desc."'";

Еще две ошибки: поля name и desc похоже являются зарезервированными словами. Не стал ничего экранировать просто переименовал в names и descr (по крайней мере мне так удобнее).

И вуаля!! Все сработало, чего и ждал два дня! Всем хорошего дня!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson