Forum Webscript.Ru
Программирование => PHP => Тема начата: Fransua от 13 Июля 2005, 08:06:49
-
Помогите мне кто-нибудь, уже не знаю что делать, оттестировал скрипт на бесплатном хостинге (holm.ru), потом на своем компьютере (на ДЭНВЕРе), теперь купил хостинг на год (атлекс) и именно там возникли проблемы.
Скажу сначала что скрипт на PHP с одной базой данных mysql.
Вот такие проблемы: есть на сайте регистрация, когда нажимаешь "Регистрация" то должна открываться страница с благодарностью и высылаться письмо, а на новом хостинге открывается страница где написано:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/login/public_html/input.php on line 434
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/login/public_html/input.php on line 440
Ошибка: записи в БД!
Скрипт правильно написан, т.к. везде работал, что же означают эти записи, может кто сталкивался с подобным??
-
Ошибка возникает из-за этой строки в input.php:
$Temp4=mysql_fetch_row($result);
Перед ней идет присвоение переменной $result:
$result=ReadDB(\'catalogautosalon\',\'ID,Login,Pass\',"ID=\'$ID\' OR Login=\'$Login\' OR Pass=\'$Pass\'",\'\',\'\');
Вот цитата из ошибки которую я приводил в предыдущем сообщении:
"Warning: mysql_fetch_row():" Т.е. скобки пустые, а там должна
находиться переменная $result, куда она девается? Из-за чего может появляться эта ошибка?
-
эта ошибка, скорее всего, появляется из-за того, что перед mysql_fetch_row не выполнился запрос (возможно он находится в функции ReadDB); можно попробовать после ReadDB временно написать
echo mysql_error();
и посмотреть, что напишет...
-
tserbis, сделал как вы сказали, перед теми сообщениями пишет:"No Database Selected".
Что значит не выбрана БД, я ее создал, пользователя вроде добавил, недавно сделал sql-запросы на таблицу "catalogautosalon" такими вот способами: "SELECT ID FROM catalogautosalon". Все запросы прошли удачно. Что может быть еще?
-
Вероятно, нужно использовать функцию [p]mysql_select_db[/p] (или какой-то её аналог среди того набора ф-й, который, судя по всему, используется в обсуждаемом случае).
-
tserbis, я посмотрел, эта функция используется в скрипте.
-
Fransua
Значит, неверно используется.
tserbis:
какой-то её аналог среди того набора ф-й, который, судя по всему, используется
Ищите. Может, она и используется, но с неверным именем базы.
-
CGVictor но ведь на другом хостинге работало, и на моем компьютере, на дэнвере все нормально работало.
-
Fransua
А ты уверен, что базы совпадают?
-
CGVictor так там ведь всего одна БД.
-
Вот кстати какие строчки ошибки вызывают, а точнее последняя:
$result=ReadDB(\'catalogautosalon\',\'ID,Login,Pass\',"ID=\'$ID\' OR Login=\'$Login\' OR Pass=\'$Pass\'",\'\',\'\');
$Temp4 =mysql_fetch_row($result);
-
Fransua
Про строчки можешь не писать, это уже ясно.
Fransua:
так там ведь всего одна БД
Скрипт обращается к базе. На первом хосте и на локальной машине база названа определенным именем и имеет определенные настройки доступа к ней.
Проверь,
1) называется ли база тем же именем?
2) имеешь ли ты права на хосте обращаться к этой базе?
3) есть ли там база вообще? Ты на тот сервер обращаешься?
и т.п.
Более конкретно сказать ничего не смогу, т.к. с твоих слов большего не выудить.
-
CGVictor, после закачки скрипта я открываю html файл где надо заполнить поля, там я вписываю сервер БД, ее имя, фамилию...ой... логин и пароль. Нажимаю на кнопочку и создаются таблицы в БД. Т.е. если бы я неправильно вписал данные то никаких таблиц не создалось бы. А так получается я все указал правильно, соединение с базой прошло, таблицы создались, но потом почему-то скрипт не хочет взаимодействовать с ней. Я бы сюда не писал про это, думал что в скрипте что-то не так, но ведь в других местах работало ведь, этого я и не пойму.
Вот про пункт два бы пояснил немного, что за права, может хостинг такой что там права как-то нужно устанавливать на БД.
-
Fransua
Конкретно по случаю - попробуй перепоставить скрипт.
Про права спрашивать непосредственно у хостера. Хотя, если ты их скриптом и создавал - то это маловероятно.
Если не поможет - скопипасть сюда ту функцию, где вызывается mysql_select_db (поиском по файлам)