LAMP oraz mysql zainstalowany - problem z kodem w PHP

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
gregorb612
Sędziwy Jeż
Sędziwy Jeż
Posty: 82
Rejestracja: 01 gru 2010, 12:49
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

LAMP oraz mysql zainstalowany - problem z kodem w PHP

Post autor: gregorb612 »

Witam mam taki oto problem - chcę napisać prosty skrypt, który poprzez formularz dodaje komentarze na stronę (dodawane i odczytywane z bazy danych). Oto kod:
<?php
session_start();
$login=$_POST['login'];
$tresc=$_POST['tresc'];
$polaczenie = @mysql_connect('localhost', root, 'hasło');
or print ('Brak polaczenia z serwerem MySQL');
$baza = mysql_select_db('komentarze',$polaczenie)
or die('Nie moge polaczyc sie z baza danych');
$pytanie=mysql_query('INSERT INTO `dodawane` SET `login`='$login', `tresc`='$tresc'");
mysql_close($polaczenie);
?>
Dalej jest formularz, który po usunięciu kodu php wyświetla się poprawnie. Gdy kod php jest obecny wyświetla mi się pusta strona. Dodam że polecenia typu echo "tekst"; itp działają poprawnie i ogółem z apachem nie ma problemu. Czy jest to problem typu, że na moim Ubuntu mysql nie chce współpracować z apachem? Proszę o jakąś pomoc.
Awatar użytkownika
PanCiasteczko
Piegowaty Guziec
Piegowaty Guziec
Posty: 11
Rejestracja: 07 sty 2007, 16:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: Fluxbox
Architektura: x86

Odp: LAMP oraz mysql zainstalowany - problem z kodem w PHP

Post autor: PanCiasteczko »

tutaj:

Kod: Zaznacz cały

$pytanie=mysql_query('INSERT INTO `dodawane` SET `login`='$login', `tresc`='$tresc'");
powinno być:

Kod: Zaznacz cały

$pytanie=mysql_query("INSERT INTO `dodawane` SET `login`='$login', `tresc`='$tresc'");
Znajdź sobie edytor z podświetlaniem składni. Włącz sobie w apachu wyświetlanie błędów php do takich testów. Poprawność składniową kodu można też sprawdzić z linii poleceń:

Kod: Zaznacz cały

php -l test.php
Awatar użytkownika
Ja_Szczur
Piegowaty Guziec
Piegowaty Guziec
Posty: 22
Rejestracja: 07 kwie 2008, 18:32
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: LAMP oraz mysql zainstalowany - problem z kodem w PHP

Post autor: Ja_Szczur »

Nie, po prostu masz podstawowe błędy w składni...

Kod: Zaznacz cały

<?php
session_start();
$login=$_POST['login'];
$tresc=$_POST['tresc'];
$polaczenie = @mysql_connect('localhost', 'root', 'hasło') or print ('Brak polaczenia z serwerem MySQL');
$baza = mysql_select_db('komentarze',$polaczenie) or die('Nie moge polaczyc sie z baza danych');
$pytanie=mysql_query("INSERT INTO `dodawane` SET `login`='$login', `tresc`='$tresc'");
mysql_close($polaczenie);
?>
po pierwsze, jeśli nie masz stałej root to tam musisz mieć 'root' (w cudzysłowiu)
po drugie, jeśli używasz czegoś takiego jak coś or coś, to przed or nie możesz dawać średnika (w linijce z mysql_connect)
po trzecie zapytanie sql rozpocząłeś od ' a zakończyłeś na "

super ważna rada: włącz sobie w konfiguracji (/etc/php5/apache2/php.ini) wyświetlanie błędów (display_errors na on)
Awatar użytkownika
k2cl
Przyjaciel
Przyjaciel
Posty: 3632
Rejestracja: 09 gru 2007, 12:48
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: LXDE
Architektura: x86

Odp: LAMP oraz mysql zainstalowany - problem z kodem w PHP

Post autor: k2cl »

Zmień tytuł tematu na zgodny z REGULAMINEM
Zwróć uwagę głównie na słowa, których używasz
Tytuł tematu zmienisz edytując pierwszy post
W razie wątpliwości/zastrzeżeń odnośnie powyższej informacji skontaktuj się z moderatorem, który ją wstawił.
Work less, climb more :D
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości