Задавайте вопросы, мы ответим
Вы не зашли.
В общем у меня такая ошибка
#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.все равно мимо. Как еще устранить эту проблему?
Неактивен
Запрос в сообщении об ошибке не такой, как приведенный в посте. Тот, который приведен в посте работает без ошибок.
Неактивен
Помогите решить проблему, обновлял движок 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)
Неактивен
Приведенный 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
Неактивен
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
Неактивен
В качестве my_table должна выступать таблица, из которой выбираются данные - ее названия я, конечно, не знаю. Подставьте нужное название. И к слову,
между
short_story dle_post
скорее всего помимо пробела должна еще запятая быть.
Если запрос опять не сработает, приведите его сюда полностью.
Неактивен
deadka написал:
В качестве my_table должна выступать таблица, из которой выбираются данные - ее названия я, конечно, не знаю. Подставьте нужное название. И к слову,
между
short_story dle_post
скорее всего помимо пробела должна еще запятая быть.
Если запрос опять не сработает, приведите его сюда полностью.
Спасибо вам за оперативную помощь, но я сам не знаю какой там запрос должен быть, пробовал ставить запятую, непомогло, придется отказаться от вывода топ новостей в одной колонки.
Но все равно я вам очень благодарен за отклик.
Неактивен
Остаётся посоветовать обратиться на форум поддержки DLE, там, думаю, смогут сказать, что именно нужно сделать после обновления движка.
Неактивен
Запрос должен иметь вид
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. Когда разберетесь, отпишитесь, а то уже встречалась на форуме подобная ошибка.
Неактивен
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,4kilocy написал:
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 .
Неактивен
Доброго времени суток! Помогите и мне пожалуйста. Поставил модуль системы тикетов в 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=
В чём может быть проблема? Спасибо.
Неактивен
причина в некорректной работе модуля
после user_id= должно быть значение
Неактивен
Помогите пожалуйста, два дня сижу борюсь с синтаксисом((
База:
-- 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
Неактивен
Наконец-то разобрался со всем!)))
Раньше пользовался mysql, но он у меня что-то не работает и пришлось использовать именно mysqli. В таком коде пропущены одинарные кавычки:
$query = "INSERT INTO `montaje` SET `name` = '".$name."', `img` = '".$img.", `price` = '".$price.", `desc` = '".$desc."'";
Еще две ошибки: поля name и desc похоже являются зарезервированными словами. Не стал ничего экранировать просто переименовал в names и descr (по крайней мере мне так удобнее).
И вуаля!! Все сработало, чего и ждал два дня! Всем хорошего дня!
Неактивен