Проблема решена. Здравствуйте! Только что зарегистрировался, потому что пришел в тупик, казалось бы в очевидных вещах. Есть сайт; он работает с базой на mysql; его писал частично я, поэтому в коде ориентируюсь. Попросили перенести его с хостинга на хостинг. Сделал дамп базы, слил, залил на новый хостинг. Файлы/папки перенёс через ftp. На старом хостинге: база называлась userbase_userbase пользователь userbase_admin Такая ситуация. На новом хостинге: база userbasen_userbase пользователь userbase_admin В php поменял подключение к базе и имя пользователя на новые; подключение проходит; но при работе с базой, в частности при использовании кода: PHP: $result=mysql_query ("SELECT * FROM userbasen_userbase.general WHERE id = '$i' "); $row = mysql_fetch_array ($result); На строке 2: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/site/public_html/general.php on line 2 На локалхосте (денвер) все работает слил базы с хостинга, файлы скачал по ftp. Хостер, если важно - hostpro.com.ua. К хостеру претензий не имею, уверен, я где-то напортачил. Подскажите, где я допускаю (я уверен что глупую) ошибку? Изменил все имена/ссылки на простые, не указывающие на сайт
я бы посоветовал создать файл test.php, внутри которого будет простейшее подключение к базе данных и одна выборка с выводом результатов в браузер - для проверки того, что введённые данные для соединения с базой корректны, и что само соединение происходит нормально. Небольшой файл отлаживать легче, чем систему.
Может стоит не указывать в запросе базу? [sql]$result=mysql_query ("SELECT * FROM general WHERE id = '$i' ");[/sql]
Зверь, не имеет значения, всё равно не работает. Ошибка та же. Gromo, меня волнует вопрос: что в настройках Денвера позволяет данной конструкции работать, почему же на хостинге выдается ошибка? Возможно что-то в конфигах, например .htaccess, configs.php... Я уже 5ый день теряюсь в догадках. Писать код заного не хочется.
1) подключение к бд 2) выведи запрос и в админке попробуй его вручную выполнить (пхпмайалмин например) 3) дальнейшие действия в зависимости от найденных ошибок
karlozzz, подключается к бд, там стоит проверка на подключение, она выдает TRUE. Запрос работает. Дальнейшие действия: код поменял, теперь выглядит PHP: for ( $i=1 ; $i<=6 ; $i++ ) { $result=mysql_query ("SELECT * FROM general WHERE id > 0"); $row = mysql_fetch_array ($result); print ( ... ); } В phpmyadmin sql-функция SELECT * FROM general WHERE id > 0 выдает нужное кол-во строк таблицы (то есть 6) Volt(220) 1046: No database selected. Записи внесены. По коду ошибки mysql понял куда копать... updated: 1044: Access denied for user 'userbasen_admin'@'localhost' to database 'userbasen_userbase' Пользователь с ошибкой, очевидно... updated 2: Создал нового пользователя, переписал php код и всё равно выдает такую же ошибку. В сипанели всё верно вроде бы...
У пользователя userbasen_admin нет прав на базу данных userbasen_userbase. Надо смотреть настройки пользователей MySQL.
Volt(220), спасибо. Написал в техпоодержку хостинга, сделали права, всё работает. Не знаю точно правил, но тему можно закрыть, проблема решена.