MySQL Fatal Error

Помощь Подключение РНР классов DLE для работы в скрипте

Здравствуйте.
На статической странице инклуу скрипт РНР, который выполняет выводит определенные данные.
Подскажите, пожалуйста, какие файлы подключить этому РНР скрипту, чтобы в нём можно было пользоваться всеми функциями и классами DLE.
Благодарю!

Gameer

Постоялец

dollar1981

Гуру форума

Не думаю. Ведь если бы так было, то вы бы запросто могли вставить любую функцию в совершенно любой файл движка и легко её воспроизвести, что само по себе не возможно.
Более того, как я понял ТС имел ввиду теги, так как именно в них заключено большинство функционала в ДЛЕ. А раз так то этим тегам как и самому файлу необходимо прямо указывать на область его использования в движке и не иначе.
Но опять же, воспроизвести прям любую функцию не удастся, вернее удастся сделать все что вздумается, но скорее всего это приведет к дырявости.)))

LEXAlForpostl

Мой дом здесь!

Подскажите, пожалуйста, какими функциями «экранировать» запрос для вставки в БД, чтобы обезопасить себя от возможных sql inj.
Благодарю!

Горбушка

Ищу её.

Подскажите, пожалуйста, какими функциями «экранировать» запрос для вставки в БД, чтобы обезопасить себя от возможных sql inj.

Сам запрос не экранируется, экранируются значения переменных, которые ты в него вставляешь.

ДЛЕ использует класс для работы с БД. Через API он доступен для подключаемых модулей:
$db->safesql($var);

dollar1981

Гуру форума

Сам запрос не экранируется, экранируются значения переменных, которые ты в него вставляешь.

ДЛЕ использует класс для работы с БД. Через API он доступен для подключаемых модулей:
$db->safesql($var);

Ииии? Где там написано что можно подключить файлы этому РНР скрипту, чтобы в нём можно было пользоваться всеми функциями и классами DLE?
Что то не вижу такого функционала.
Но предположим это возможно, ок. Тогда приведите мне пример.
А то я тут мучаюсь, модули какие то подключаю странные, а все гораздо проще, заинклудил код, привязал к нему php файлик и вот тебе весь функционал движка как на ладони, все что хочется можно вывести и заставить работать в любом месте не нарушив сам двиг.

Горбушка

Ищу её.

Эм. Либо я тебя не понимаю, либо ты меня.

Создаём файл modul.php, подключаем его
В файл пишем:
$db->query(«UPDATE dle_user SET `name` = ‘blablabla'»);

Мне лень сейчас открывать IDE и писать нормальный код, смысл ясен. В модуле, который подключён через include в шаблоне отработает класс работы с MySQL — $db. Пути естно тоже не верны

Gameer

Постоялец

Не думаю. Ведь если бы так было, то вы бы запросто могли вставить любую функцию в совершенно любой файл движка и легко её воспроизвести, что само по себе не возможно.
Более того, как я понял ТС имел ввиду теги, так как именно в них заключено большинство функционала в ДЛЕ. А раз так то этим тегам как и самому файлу необходимо прямо указывать на область его использования в движке и не иначе.
Но опять же, воспроизвести прям любую функцию не удастся, вернее удастся сделать все что вздумается, но скорее всего это приведет к дырявости.)))

Читайте также:  Python raise custom exceptions

Боже, вы хоть знаете как устроен DLE ?
Если файл подключается через в tpl файле, то он подключается в /engine/classes/templates.class.php через include в php. А значит ему доступны все те же функции что и в /engine/modules/functions.php все переменные с /engine/init.php а так же класс БД с /engine/clasees/mysql.php, и класс шаблона /engine/classes/templates.class.php и так же если сам файл будет подключен в php файле.

Источник

Хак для вывода информации об ошибке MySQL для DLE

Хак для вывода информации об ошибке MySQL для DLE

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

Данный хак для dle позволит сделать более удобный вывод ошибок на вашем сайте. Например так же вы сами можете оформить внешний вид вывода ошибки или написать информацию, благодаря которой пользователи будут знать кому и что сообщить.
Хак для вывода информации об ошибке MySQL для DLE
Итак установка:
Открыть /engine/classes/mysqli.class.php и mysql.class.php

function display_error($error, $error_num, $query = '') < if($query) < // Safify query $query = preg_replace("/([0-9a-f])/", "********************************", $query); // Hides all hashes $query_str = "$query"; > echo '        MySQL Error! 
------------------------

The Error returned was:
'.$error.'

Error Number:
'.$error_num.'


'; exit(); >
function display_error($error, $error_num, $query = '') < if($query) < // Safify query $query = preg_replace("/([0-9a-f])/", "********************************", $query); // Hides all hashes $query_str = "$query"; > echo '        MySQL ошибка! 
------------------------

Причина ошибки:
'.$error.'

Номер ошибки:
'.$error_num.'

Просьба сообщить об ошибке:
ВАША ПОЧТА или по личным сообщениям через сайт.
Скопируйте весь текст, который написан ниже и отправьте его по указанным контактам.



Заранее спасибо, за уведомление об ошибки. Мы постараемся исправить её как можно быстрее. '; exit(); >

Это формирование страницы с ошибкой MySQL.

Рекомендуем скачать хак для DLE вывода информации об ошибке MySQL

Источник

engine classes mysqli class php

Хотел на своём сайте установить скрипт DataLife Engine 9.7. На четвертом шаге выдает ошибку:

MySQL Error!
MySQL error in file: /engine/classes/mysqli.class.php at line 52
Error Number: 1
The Error returned was:
Access denied for user ‘phpMyAdmin’@’localhost’ (using password: YES)
SQL query:

Я заполнил все предыдущие поля правильно.
Помогите если можете помочь. Заранее спасибо!! !

Данный хак устраняет ошибку:
Warning: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /var/www/. /engine/classes/mysqli.class.php on line 162

Обнаружено на версиях:
DLE 8.2 — 8.5

Столкнулся с такой проблемой Warning: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /var/www/. /engine/classes/mysqli.class.php on line 162 серфил по Интернету толком ни чего работоспособного так и не нашел. Предлагали просто в файле:

Читайте также:  Подключение ксс к html

engineclassesmysqli.class.php изменить следующие строчки

Все хорошо, но при попытке создать резервную базу данных она не создавалась. и опять таки вылезло сообщение и в нем было написано

Возникла ошибка!
mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. (2)

Добрый день! Я пишу классы для работы с mysqli чтобы каждый раз ее не вызывать. Функция connect которая соединяется с базой данных получилась, а вот как оформить функцию select которая выбирает и возвращает id нужного имени пользователя и пароля через класс Database? То же самое планирую сделать с функцией create. Я дважды получается обращаюсь к классу Database.php Что не так в синтаксисе? Браузер выдает ошибку

Введенные данные не верны
Класс Database:

Источник

Форум

Ребята, помогите пожалуйста, в интернете так и не нашёл рекоммендации решающей мою проблему. Установил OpenServer, перенёс на него DLE со своим сайтом, а вот зайти на него не могу, пишет:
MySQL error in file: \engine\classes\mysqli.class.php at line 52
Error Number: 1
The Error returned was:
Access denied for user ‘hora’@’localhost’ (using password: YES)
Где какие параметры нужно менять, имя пользователя и пароль, чтобы всё заработало?

Непрочитанное сообщение Max » 26 ноя 2013, 20:29

Правой кнопкой на OS — дополнительно — SQLite менеджер — ввести имя пользьвателя root и нажать кнопку войти.
Создать новую базу данных — потом залить дамп
Потом в конфигурационном файле DLE (engine/data/dbconfig.php) изменить имя базы и имя пользователя с паролем

Непрочитанное сообщение more » 26 ноя 2013, 20:49

Может и мне поможете с настройкой mysql .
Движок тоже dle .
На хостинге , у провайдера прописан хост для mysql ( m34.5 ( не помню какой именно ) )
Инсталирую движок на хостинге , в конфиге движка прописывается этот хост . Снимаю с хостинга , ставлю его же на локалку и могу подключиться к базе данных только через localhost , а хотелось бы не редактировать конфиг а настроить сам мускуль под хост провайдера . Возможно вообще так настраивать мускуль на опенсервере ?

Всё понятно, кроме одного- залить дамп. Что это? Где брать его и как/куда заливать? Подскажи пожалуйста.

Непрочитанное сообщение more » 26 ноя 2013, 21:04

Avtostopshik писал(а): Всё понятно, кроме одного- залить дамп. Что это? Где брать его и как/куда заливать? Подскажи пожалуйста.

Непрочитанное сообщение Max » 26 ноя 2013, 21:13

Avtostopshik писал(а): Всё понятно, кроме одного- залить дамп. Что это? Где брать его и как/куда заливать? Подскажи пожалуйста.

На хостинге через phpMyAdmin — выбрать нужную базу и нажать экспорт
Потом этот файлик локально через SQLite менеджер импортировать в нужную базу.

Добавлено спустя 4 минуты 28 секунд:

more писал(а): Может и мне поможете с настройкой mysql .
Движок тоже dle .
На хостинге , у провайдера прописан хост для mysql ( m34.5 ( не помню какой именно ) )
Инсталирую движок на хостинге , в конфиге движка прописывается этот хост . Снимаю с хостинга , ставлю его же на локалку и могу подключиться к базе данных только через localhost , а хотелось бы не редактировать конфиг а настроить сам мускуль под хост провайдера . Возможно вообще так настраивать мускуль на опенсервере ?

Читайте также:  Операторы есть в языке javascript

Если на хостинге в качестве хоста указан localhost то можете создать пользователя в MySQL и указать пароль как на хостинге.
OS — дополнительно — SQLite менеджер — ввести имя пользьвателя root и нажать кнопку войти — полномочия — создать пользователя

Непрочитанное сообщение more » 26 ноя 2013, 21:18

Если на хостинге в качестве хоста указан localhost
В этом все и дело , на хостинге не как обычно localhost а что то другое , типа user.host. . Как мне на локалке сделать тоже самое , не localhost а user.host.

Непрочитанное сообщение Max » 26 ноя 2013, 21:21

more писал(а): Если на хостинге в качестве хоста указан localhost
В этом все и дело , на хостинге не как обычно localhost а что то другое , типа user.host. . Как мне на локалке сделать тоже самое , не localhost а user.host.

Не уверен, что поможет, но можете попробовать в файле host прописать то что в строке host и 127.0.0.1
Пуск — выполнить — %systemroot%\System32\drivers\etc

Всё сделал, правда сомнения есть: когда создавал таблицу для БД, то писал чисто левые названия, так как создавал чисто ради того, чтобы она была(ведь без неё никакие манипуляции нельзя было делать). Здесь ведь не нужны были конкретные названия?
А теперь главное. Вместо прежней ошибки стало выходить другая, вот полное её описание:
MySQL error in file: \engine\modules\topnews.php at line 37
Error Number: 1146
The Error returned was:
Table ‘horara.dle_post’ doesn’t exist
SQL query:

SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND p.date >= ‘2013-11-26 21:36:09’ — INTERVAL 1 MONTH AND p.date < '2013-11-26 21:36:09' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10

Не существует такой-то файл, но что мне с ним делать? Создать или как-то убрать попытки запроса этого файла? Но тогда как именно?

Непрочитанное сообщение Max » 26 ноя 2013, 21:49

Avtostopshik писал(а): Всё сделал, правда сомнения есть: когда создавал таблицу для БД, то писал чисто левые названия, так как создавал чисто ради того, чтобы она была(ведь без неё никакие манипуляции нельзя было делать). Здесь ведь не нужны были конкретные названия?
А теперь главное. Вместо прежней ошибки стало выходить другая, вот полное её описание:
MySQL error in file: \engine\modules\topnews.php at line 37
Error Number: 1146
The Error returned was:
Table ‘horara.dle_post’ doesn’t exist
SQL query:

SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND p.date >= ‘2013-11-26 21:36:09’ — INTERVAL 1 MONTH AND p.date < '2013-11-26 21:36:09' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10

Не существует такой-то файл, но что мне с ним делать? Создать или как-то убрать попытки запроса этого файла? Но тогда как именно?

Источник

Оцените статью