• Авторизация


про MySQL 31-05-2005 21:39 к комментариям - к полной версии - понравилось!


Устроилась на h15.ru. (holm.ru)
Бесплатно и довольно неплохо...(php, mysql, ssh, cgi, etc...)
Убрала их поганые баннеры. (кому интересно, пишите, расскажу [хотя это должны знать и без меня :) ]
Кажется - живи и радуйся... Но нет же!!!
Мой движок, который нормально работал на локалхосте, хоть убей, не хочет работать на реальном хостинге... Вроде и register_globals отключено. Но! У меня в базу данных пишет/читает, а на холме только читать умеет... На другом хостинге то же самое (только не надо мне говорить, что я параметры соединения с базой данных неправильно настраиваю - он же читает оттуда!).

Попробовала на нашем, универском хостинге установить phpmyadmin - всё работает превосходно...
Вот думаю, что лучше: переписать движок (хелп ми) или залить phpmyadmin на холм (ох и дорогой трафик у меня [подскажите, как установить прямое ftp-соединение между двумя хостерами])?

P.S. Кто не понял, вопросы выделены!!! :)
Kristinka_nobody
вверх^ к полной версии понравилось! в evernote
Комментарии (26):
VictorT 31-05-2005-21:56 удалить
Исходное сообщение web_development
Убрала их поганые баннеры. (кому интересно, пишите, расскажу [хотя это должны знать и без меня :) ]

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

Так сделай вывод ошибки, которая проиходит при выполнении запроса на запись.
На другом хостинге то же самое (только не надо мне говорить, что я параметры соединения с базой данных неправильно настраиваю - он же читает оттуда!).[QUOTE]
Может привилегии на запись не даны?

[QUOTE][подскажите, как установить прямое ftp-соединение между двумя хостерами]

Просто нужно, чтоб это поддерживал используемый файловый менеджер.
holy_diver 31-05-2005-21:57 удалить
http://www.php.net/manual/ru/ref.ftp.php это про фтп.
Что говорит мускуль, когда не пишет в базу?
holy_diver 31-05-2005-22:05 удалить
Интересно, не знаю.

google it! :)
Исходное сообщение VictorT
Просто нужно, чтоб это поддерживал используемый файловый менеджер.

Не, не только менеджер. Еще один из серваков должен поддерживать протокол FXP, а может даже оба - тут я не уверен :)

Если нету подходящего FTP клиента или серваки не держат FXP, то вот одно из решений вопроса перекачки файлов между серваками на PHP: http://fxp.harrym.nu/phpfxp/index.php
Kukuruza19 01-06-2005-00:46 удалить
Баннеры убирать не стоит, они отслеживают как-то сайты, если баннеров не будет, закроют сайт до тех пор, пока не откроешь их галимый баннер.
Насчет неработоспособности движка, быть может у тебя другая версия php или MySQL? А пхпадмина заливать туда не стоит, там и так 15 метров всего...
У тебя ВСЕ не работает, или какие-то некоторые части сайта?

LI 3.9.25
Kukuruza19 01-06-2005-00:49 удалить
а лучше напиши им, и наругай их :)

LI 3.9.25
shakirov 01-06-2005-09:36 удалить
Вы бы ошибки скрипта вывели.. и сравните информацию о сервере (phpinfo и прочее) с локалхоста и с хостинга.

а вообще переезжайте на платный.. благо цены щас от 0.50 бакса. 15 рублей в месяц это не деньги, а разница огромная.
01-06-2005-11:40 удалить
Там дают 50 или 100 метров (уж не помню), просто 2,5 метра phpmyadmin будет стоить мне 15 рублей. Мне это жалко. А если закроют сайт - да ну и фиг с ним - заново зарегаюсь. Но, по-моему, ничего там не отслеживается. Фигня всё это. Сейчас я скорее php изучаю, чем что-то людям пытаюсь представить. Что MySQL пишет, что неправильный тип ресурса, когда пытаешься его разобрать. Но дело не в этом. Там не идёт сама запись в базу данных. Не знаю почему, через админа всё ведь работало!!!

А теперь, как убрать баннеры на holm.ru -
есть у вас html-документ. Баннеры вставляются автоматически после открывающего тега . Так вот, вы, как обычно, создаёте этот документик, а перед тем, как написать добавляете строку . Т.е. у вас должно получится два контейнера body. В первом - ваш документ, а во второй будут всавляться скрипты баннера. Так вот, тег
01-06-2005-11:42 удалить
" а лучше напиши им, и наругай их :) "

Кстати, я писАла хостерам в университете, они обещали поставить новую мусклю и пхп. Не знаю... может быть. Но в универе всё равно плохо хоститься... Там таааакаааая пропускная способность во вне: по модему и то быстрее))))
01-06-2005-11:46 удалить
"Вы бы ошибки скрипта вывели.. и сравните информацию о сервере (phpinfo и прочее) с локалхоста и с хостинга.

а вообще переезжайте на платный.. благо цены щас от 0.50 бакса. 15 рублей в месяц это не деньги, а разница огромная."

Да дело не в 15 и даже не в 100 рублях за хостинг. Просто у меня сейчас нет материала для сайта. Есть только движок и общая идея. Позже может быть и платный возьму. А на холме всё равно уютно сейчас)))

Полный текст ошибки я не помню, я похе..ла скриптик оттуда, чтобы никто пока не копался, но там про неверный тип ресурса MySQL идёт речь, когда делаешь построчный разбор... - Просто в базе данных ничего нет. Проверено phpmyadmin'om.
VictorT 01-06-2005-12:08 удалить
Исходное сообщение
Полный текст ошибки я не помню, я похе..ла скриптик оттуда, чтобы никто пока не копался, но там про неверный тип ресурса MySQL идёт речь, когда делаешь построчный разбор... - Просто в базе данных ничего нет. Проверено phpmyadmin'om.

Блин, справшивали ведь про ошибку при записи, а не чтении, раз ты утверждаешь, что запись не заботает. Так почему ты приводишь ошибку при чтении?
01-06-2005-12:17 удалить
При записи никаких ошибок не выводится. Всё проходит гладко. Там даже проверка стоит на невозможность записи. Но скрипт выводит, что запись успешно произведена.
Вот простейший скрипт, который у меня должен выполнять запросы:

<html><head><title>Редактирование базы данных</title></head><body>
<?php
if (!$HTTP_POST_VARS[login] || !$HTTP_POST_VARS[password])
echo '<form action="edit_mysql.php" method="post">
<table><tr><td>Login</td><td><input type="text" name="login"></td></tr>
<tr><td>Password</td><td><input type="password" name="password"></td></tr>
<tr><td colspan="2"><input type="submit" value="login"></td></tr></table></form></body></html>';
elseif ($HTTP_POST_VARS[login]=="********" && $HTTP_POST_VARS[password]=="*********") {
require_once ("config.php");
mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASSWORD) or die ("Нет доступа к серверу баз данных");
mysql_select_db(MYSQL_DB_NAME) or die ("Не та база данных");
mysql_query("$HTTP_POST_VARS[sql]");
echo '<form action="edit_mysql.php" method="post"><table><tr><td>SQL</td><td><textarea name="sql" cols="80" rows="20"></textarea></td></tr>
<tr><td colspan="2"><input type="submit" value="отправить"></td></tr></table>
<input type="hidden" name="login" value="'.$HTTP_POST_VARS[login].'">
<input type="hidden" name="password" value="'.$HTTP_POST_VARS[password].'">
</form></body><noscript><body></body></noscript></html>';
}
?>

Суперглобалы старые использую для совместимости. Хотя... Наверное в них-то всё и дело!!!
А сам запрос, который в текстовое поле надо вставлять я смотрю в локальном myadmin'e, т.ч. в нём ошибок на 100% нет.
Kristinka_nobody 01-06-2005-12:21 удалить
Исходное сообщение
А теперь, как убрать баннеры на holm.ru -
есть у вас html-документ. Баннеры вставляются автоматически после открывающего тега <body>. Так вот, вы, как обычно, создаёте этот документик, а перед тем, как написать </html> добавляете строку <noscript><body></body></noscript>. Т.е. у вас должно получится два контейнера body. В первом - ваш документ, а во второй будут всавляться скрипты баннера. Так вот, тег <noscript> как раз и не даёт выполнять эти JavaScr, поэтому и баннеры не отображаются. Кому понравилось, заходите ко мне в дневник)))) (это типа реклама)

В первый раз не опубликовалось, т.к. забыла заменить скобки тегов на html-допустимые...
VictorT 01-06-2005-12:44 удалить
Исходное сообщение
При записи никаких ошибок не выводится. Всё проходит гладко. Там даже проверка стоит на невозможность записи. Но скрипт выводит, что запись успешно произведена.

Что-то я в приведённом скрипте никакой проверки не увидел. И вовода об успешной записи.
Вставь после посылки запрса такой код:
if (mysql_errno() != 0) {
echo "Ошибка в SQL-запросе<br>";
echo mysql_errno().": ".mysql_error()."<br>";
}
01-06-2005-18:39 удалить
Делаю экспорт на локальном phpmyadmin'e, захожу в этот скрипт, для записи. Вставляю текст. Нажимаю отправить.
Выходит вот что:
Ошибка в SQL-запросе
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 '; CREATE TABLE IF NOT EXISTS `config` ( `var` varchar(255)

А сам кусок запроса вот такой:
DROP TABLE IF EXISTS `config`;
CREATE TABLE IF NOT EXISTS `config` (
`var` varchar(255) NOT NULL default '',
`content` text NOT NULL,
PRIMARY KEY (`var`),
UNIQUE KEY `var` (`var`),
UNIQUE KEY `var_2` (`var`),
FULLTEXT KEY `var_3` (`var`),
FULLTEXT KEY `var_4` (`var`)
) TYPE=MyISAM;

Хм... что бы это значило? Объясни, плззззз...
VictorT 01-06-2005-18:47 удалить
Потому как у тебя несколько запросов, разделённых ";" (точкой с запятой).
А mysql_query() не хавает несколько запросов, нужно по одному.
VictorT 01-06-2005-18:49 удалить
З.Ы. Ктати, для чего такое огромное кол-во индексов для одного поля?
holy_diver 01-06-2005-19:41 удалить
Да, mysql_query() переваривает только один запрос за раз.
Kristinka_nobody 01-06-2005-20:06 удалить
Зачем столько индексов? Не знаю... Мне сказали, что это ускоряет работу базы данных...
Вот попробовала сделать по одному запросу...
На создании таблицы всё дохнет. Он не понимает эти обратные кавычки, наверное, а может они экранируются автоматически (без моего ведома). Но даже если эту таблицу создать, то при вставке данных в неё опять ползут глюки, что типа такого-то поля в таблице не существует...
VictorT 01-06-2005-20:20 удалить
Исходное сообщение Kristinka_nobody
Зачем столько индексов? Не знаю... Мне сказали, что это ускоряет работу базы данных...

Да, ускоряет... если осмысленно их создавать.
Вот попробовала сделать по одному запросу...
На создании таблицы всё дохнет. Он не понимает эти обратные кавычки, наверное, а может они экранируются автоматически (без моего ведома).

Ошибку то какую выдаёт?
Но даже если эту таблицу создать, то при вставке данных в неё опять ползут глюки, что типа такого-то поля в таблице не существует...

Что-то я не понимаю, ты же написала выше, что таблица не создаётся?
01-06-2005-20:51 удалить
Так вот. Если эти кавычки УДАЛИТЬ, то таблица всё же создаётся.

Итак: делаем запрос:
CREATE TABLE IF NOT EXISTS `config` (
`var` varchar(255) NOT NULL default '',
`content` text NOT NULL,
PRIMARY KEY (`var`),
UNIQUE KEY `var` (`var`),
UNIQUE KEY `var_2` (`var`),
FULLTEXT KEY `var_3` (`var`),
FULLTEXT KEY `var_4` (`var`)
) TYPE=MyISAM;
Результат:
Ошибка в SQL-запросе
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 ''', `content` text NOT NULL, PRIMARY KEY (`var`), U

Дальше, убираем кавычки:
CREATE TABLE IF NOT EXISTS config (
var varchar(255) NOT NULL,
content text NOT NULL,
PRIMARY KEY (var),
UNIQUE KEY var (var),
UNIQUE KEY var_2 (var),
FULLTEXT KEY var_3 (var),
FULLTEXT KEY var_4 (var)
) TYPE=MyISAM;
Таблица создана удачно.

Дальше, вставляем данные:
INSERT INTO config VALUES (url, sitename.ru);
Результат:
Ошибка в SQL-запросе
1054: Unknown column 'url' in 'field list'

Я вообще торчу от этого...
Kukuruza19 01-06-2005-23:22 удалить
Во-первых, убери все лишние ключи, нифига от этого быстрее не станет, тока гемора больше.. без кавычек должно все работать, тока когда вносишь данные, кавычки там нужны, т.е. пиши: INSERT INTO config VALUES ( 'url', 'sitename.ru'); не заключаются в кавычки тока числовые данные или NULL, а символьные - по-любому в кавычках!

LI 3.9.25
Kukuruza19 01-06-2005-23:29 удалить
ну и конечно надо экранировать вносимые данные, об этом тут почитай... http://phpfaq.ru/slashes

LI 3.9.25
Посмотри что возвращает get_magic_quotes_gpc()
Если на хостинге выставлено magic_quotes_gpc=1, то разверни параметр содержащий запрос функецией stripslashes перед выполнением запроса.
Дальше по тому от чего ты торчишь :) Строки в мускуле надо брать в кавычки - одинарные или двойные, вот оно и ругается на такое INSERT INTO config VALUES (url, sitename.ru);
Должно быть INSERT INTO config VALUES ('url', 'sitename.ru');
Kristinka_nobody 02-06-2005-11:35 удалить
разверни параметр содержащий запрос функецией stripslashes перед выполнением запроса

Сделала это в скрипте записи... Всё работает!!! Но! Оказывается ещё и при чтении это надо было сделать :) Теперь всё работает отлично! Большое спасибо всем, кто помогал мне дойти до финала!
Ссылку я дать, к сожалению, не могу, т.к. материала у меня нет совсем... (Эти скрипты лежат уже месяц, т.ч. все идеи уже стали неактуальны) Тем не менее этот движок уже можно использовать в дальнейшем (я не думаю, что его возмёт кто-то кроме меня :) ).
А теперь, пожалуй, я закрываю обсуждение и подвожу черту. Ещё раз всем спасибо!
gurme 04-06-2005-19:35 удалить
удивляет только одно - как администрация терпит нас, кто убирает эти баннеры?

LI 3.9.25


Комментарии (26): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник про MySQL | web_development - Веб-разработка | Лента друзей web_development / Полная версия Добавить в друзья Страницы: раньше»