Piszę instalator do swojego skryptu i mam problem z utrzymaniem połączenia z bazą danych MySQL. W instalatorze są trzy etapy instalacji, krok 1 to formularz z polami: host, username, password, database, do nawiązania połączenie z MySQL.
Po wpisaniu poprawnych danych skrypt łączy się z bazą danych i wyświetla komunikat o powodzeniu lub niepowodzeniu. Tak wygląda skrypt ten skrypt:
<?php } elseif ($_GET['step'] == 2) { ?>
html
<?php
if (@mysql_connect($_POST['mysql_host'], $_POST['mysql_username'], $_POST['mysql_password'])) { echo '<font color="green">.:: Poprawnie nawiązano połączenie z bazą danych MySQL ::.</font><br />'; echo '<font color="green">.:: Poprawnie wybrano bazę MySQL ::.</font><br />'; }
else {
echo '<font color="red">Nie mogę wybrać bazy!</font><br />'; }
create_tables();
}
else {
echo '<font color="red">Brak połączenia z bazą danych!</font><br />'; }
?>
I tu jest wszystko dobrze, po poprawnym wprowadzeniu danych, skrypt łączy się z bazą danych MySQL i tworzy tabele.
Krok 2 to formularz z głównymi ustawieniami skryptu (pola: login administratora, hasło, e-mail, itd). Kod wygląda tak:
<?php } elseif($_GET['step'] == 3) { ?>
<?php
if (mysql_query("INSERT INTO `settings` (`setting_name`, `value`) VALUES ('default_language', 'pl'),
('admin_email', '".$_POST['contact_email']."')")) {
echo '<font color="green">.:: Poprawnie dodano rekordy do tabeli `settings` ::.</font><br />'; }
else {
echo '<font color="red">.:: Błąd podczas dodawaniu rekordów do tabeli `settings` ::.</font><br />'; }
?>
I tu jest problem, ponieważ nie dodaje mi tych danych do tabeli `settings`. Wyrzuca takie błędy:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost'
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established
Wiem co te błędy oznaczają, ale nie rozumiem dlaczego występują, skoro połączenie
powinno być nawiązane...
Z góry dzięki za pomoc.