Фу, наконец-то удалось связаться с администратором сервера, с которым я работаю. Меня просветили, что, оказывается, он (ну админ то есть) ограничил права авторизованных пользователей тем, что они могут устанавливать соединение с MySQL сервером (это $link из моего кода) , но не могут создавать новые базы данных. Оказалось, что база данных с названием base просто уже существовала на сервере, поэтому при смене имен бд скрипт становился работоспособным. Теперь просто придется пользоваться чьей-то (уже созданной бд) . Спасибо всем кто откликнулся... А база моя назывлась etsdb... )
mysql_error () действительно выдает сообщение, что у меня нет прав доступа...
НО КАК ЭТО МОЖЕТ БЫТЬ?!?
Ведь у меня получается создать соединение с сервером под моими логином и паролем? Да и тем более (еще раз повторяю) если в коде поменять название базы данных на base, то все будет работать. На самом деле когда я столкнулся с этой ошибкой, то решил взять у знакомого работающий код (который я и привел), в котором я заменил название на etsdb - и все...
А вот про специальное право на создание бд и таблиц я ничего не знаю. Если не трудно - расскажите об этом или киньте ссылку. ...
Помогите!!! Плз.
Уже неделю никак не могу разобраться с абсолютно простейшим делом:
Мне нужно загрузить свою базу данных на сервер. Делаю я это без mysql дампа, а прямо на серваке открываю соединение и создаю бд со всеми таблицами.
Соединение с mysql-сервером устанавливается успешно, и создание бд вроде тоже.
Ошибка возникает когда я пытаюсь открыть свою бд функцией mysql_select_db ().
$user = "myuser"; //Пользователь сервера баз данных
$pass = "mypass"; //Пароль
$server = ""; //Имя сервера
//Создание соединения
$link = mysql_connect($server, $user, $pass);
if(!$link) die ("Не могу соединиться с MySQL");
if ($link) echo ("Соединение установлено.<BR>");
$query = "CREATE DATABASE IF NOT EXISTS `etsdb`";
$result = mysql_query($query, $link) or die (mysql_error());
if ($result) echo ("База создана.<BR>");
$db = "etsdb"; //Имя базы данных
$result = mysql_select_db($db, $link) or die ("Не могу открыть $db:
".mysql_error());
if ($result) echo ("База открыта.<BR>");
?>
Так вот mysql_error () выдает, что я не имею авторизации --- но как? Ведь соединение я установил нормально?!?!?
На самом деле приведенный код не мой (у меня он был разбит на 2 файла, но в принципе алгоритм такой же...). А выбрал я именно его потому, что он оказывается абсолютно работоспособным (проверено) , если заменить название бд с etsdb на base!!!
Я просто в изумлении :0 - а в качестве параметров к функции mysql_select_db и вышестоящего sql запроса - я перепробовал абсолютно все мыслимые комбинации - с одним параметром, с двумя, с кавычками, без кавычек, с разными типами кавычек.
Обьясните пожалуйста где я ошибся и в чем разница между работающим примером и моим. Заранее спасибо...
Пытаясь переделать свой проект столкнулся с проблемой: при отключенной (OFF) опции register_globals в php.ini не могу передать переменную id с помощью сессии. Дело в том, что ранее я в проекте использовал все передаваемые переменные напрямую, то есть не через массив HTTP_POST_VARS и register_globals=ON. У меня все работало корректно. Однако потом меня просветили, что это не очень безопасно, поэтому опцию эту я выключил и теперь вытаскиваю все переменные из соответствующего ассоциативного массива, единственная проблема с СЕССИЕЙ: почему то после этого переменная перестала передаваться. Обьясните что изменилось... Заранее благодарю)
Разобрался с "проблемой" сам... Оказывается, просто забывал закрывать тег <table>, т.к. каждую новую строку типа 1,2,3 и 4,5,6 я оформлял как отдельную табличку.
Спасибо за участие)
Я делаю страницу с использованием табличного шаблона. Т.е. в качестве фона рисунок, который собирается по кусочкам , и следовательно может безразмерно растягиваться. Выглядит это так:
1 2 3
4 5 6
7 8 9
где 1 - это левый верхний угол рисунка-шаблона, 2 - это середина, которая растягивается по ширине, и т.д.
5 - это главный фрагмент, где вообщем то и размещается весь контент...
Так вот, когда я вставляю в него таблицу ===> у меня 4 и 6 части исчезают, т.е. встроенная таблица подавляет их...
Если кто-нибудь сталкивался с подобной проблемой или знает в чем моя ошибка,,,,
пожалуйста ответьте)
Решил продемонстрировать свои труды в ВУЗЕ, однако при установке MySql столкнулся с проблемой:
Там уже установлен MySql-сервер...
Я ставлю пакет ДЕНВЕР MySQL обновляется, однако при старте моих
скриптов базы данных все равно ищутся по старому адресу.
А где можно настроить путь к новому MySQL-серверу?
Спасибо за советы... На самом деле у меня действительно за один раз выводится только один вопрос и по сабмиту я выполняю проверку правильности отмеченного чекбокса и в то же время загружаю новый вопрос и варианты ответа к нему. Вообще проблему я уже обошел, введя дополнительное поле. Но решение, на мой взгляд, не очень хорошее... И вот еще вопрос: А что лучше хранить вопросы и варианты ответов к ним В РАЗНЫХ ТАБЛИЦАХ??? Если это так, объясните почему. Заранее спасибо)
Как в PHP писать обработчики событий и можно ли вообще? Например:
<input type=BUTTON value="clickme!" onclick="????????">
Знаю как сделать это на ЯВЕ, но хотелось бы на PHP... Заранее спасибо)
Хорошо, моя задача в следующем:
В базе данных есть таблица, в кторой хранятся: id, Вопрос, 4 варианта ответа к нему, и номер правильного ответа(1-4). Мне нужно считать ВСЕ записи из таблицы и затем выводить по одной (вообщем, тестирующая система).
Так, вот: я не знаю, как можно отлавливать события в PHP (и можно ли вообще...), поэтому делаю кнопку Submit с ссылкой на эту же самую страницу и передаю ей значение номера заданного вопроса и нечто еще...
У меня также была идея считать сразу все данные из таблицы, чтобы не делать это каждый раз, когда пользователь отвечает на вопрос и должен получить следующий, и передавать их через Hidden той же формы, но ... попробовал - не получилось (может как-то не так пробовал).
Так получается в моем случае необходимо, чтобы номер вопроса, передающегося через форму, совпадал с id в базе данных. Либо завести еще одно поле специально для номеров вопросов, что я, собственно, пока и сделал, но такая альтернатива мне не очень то нравиться...
Помогите пожалуйста с выбором способа считывания инфы из таблицы. Заранее благодарю)
Проблема в следующем: у меня есть столбец id, который задет уникальный идентификатор для каждой строки. Предположим, что у меня в таблице всего 5 строк. Тогда id для них будет таким: 1 2 3 4 5. (Т.к. not null и AutoIncrement). Однако, если я удалю, например последнюю строку из таблицы и после этого создам новую последовательность id будет иметь вид: 1 2 3 4 6. Ну, видимо делается это для поддержания целостности данных, мне однако это пока не обязательно. Если вам кажется, что это вовсе и не проблема, подскажите тогда более элегантное решение)