Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [MySQL]Problem z bazą
ciekawy30
post 23.02.2010, 18:16:07
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 2.10.2009
Skąd: bydgoszcz

Ostrzeżenie: (10%)
X----


Mam taki kod: <?php
$db_host = 'r';
$db_user = 'r';
$db_pass = 'r';
$db_name = 'wydarzenia';
$link = mysql_connect($db_host, $db_user, $db_pass)
or die ("Sprawdź połączenie z serwerem.");
mysql_select_db($db_name)
or die ("Baza danych nie istnieje");
$query = "SELECT info wydarzenia ".
"FROM info wydarzenia".
"WHERE rok = 2008 ";
$results = mysql_query($query)
or die (mysql_error());
while ($row = mysql_fetch_assoc($results)) {
foreach ($row as $val) {
echo $val;}
echo "<br>";
}
?>

przy próbie wyświetlenia pojawia się komunikat: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'rok = 2008' at line 1.
Co robię źle jak to naprawić?

Ten post edytował ciekawy30 23.02.2010, 18:38:43
Go to the top of the page
+Quote Post
bemol
post 23.02.2010, 18:19:34
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

Ostrzeżenie: (0%)
-----


wartość pola w '...', czyli
  1. $query = "SELECT info wydarzenia ".
  2. "FROM info wydarzenia".
  3. "WHERE rok = '2008' ";

Pamiętaj o umieszczaniu kodu w tagach
Kod
[php][/php]


poza tym nie używaj spacji w nazwie tabeli!!

Ten post edytował bemol 23.02.2010, 18:21:17


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
ciekawy30
post 23.02.2010, 18:30:35
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 2.10.2009
Skąd: bydgoszcz

Ostrzeżenie: (10%)
X----


nadal nie działa. zamieściłem rok w ' 2008'' i nadal wyskakuje to samo. nadal nie wiem dlaczego nie działa. pomoźcie co mam zrobić?
Go to the top of the page
+Quote Post
bemol
post 23.02.2010, 18:36:59
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

Ostrzeżenie: (0%)
-----


napisz jakie masz pola w tabeli i ich typ danych i zamień:
info wydarzenia na info_wydarzenia.

poza tym niepotrzebnie podajesz nam swoje dane do MySQL :]

i nie zapomnij wstawić spacji przed 'WHERE'

  1. $query = "SELECT info_wydarzenia FROM info_wydarzenia WHERE rok='2008'";


Ten post edytował bemol 23.02.2010, 18:39:28


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
ciekawy30
post 23.02.2010, 18:41:31
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 2.10.2009
Skąd: bydgoszcz

Ostrzeżenie: (10%)
X----


baza ma nazwe wydarzenia. tabela też wydarzenia. pola data typ date, rok typ year, wydarzenia ext, opis text rodzaj wydarzenia text zdjecie blob.
Go to the top of the page
+Quote Post
bemol
post 23.02.2010, 18:49:51
Post #6





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

Ostrzeżenie: (0%)
-----


to czym jest 'info'?
wklej jakie masz teraz zapytanie


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
ciekawy30
post 23.02.2010, 18:57:09
Post #7





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 2.10.2009
Skąd: bydgoszcz

Ostrzeżenie: (10%)
X----


$query = "SELECT wydarzenia".
"FROM wydarzenia".
"WHERE rok ='2008'";

i nadal wskakuje You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'rok ='2008'' at line 1
Go to the top of the page
+Quote Post
bemol
post 23.02.2010, 19:01:53
Post #8





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

Ostrzeżenie: (0%)
-----


  1. $query = "SELECT wydarzenia ".
  2. "FROM wydarzenia ".
  3. "WHERE rok ='2008'";


a tak?


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
ciekawy30
post 23.02.2010, 19:10:13
Post #9





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 2.10.2009
Skąd: bydgoszcz

Ostrzeżenie: (10%)
X----


juz jest jakiś efekt. problem wynikł teraz tylko taki ze nie mam polskich znaków? i chciałbym aby wyświetlała się jeszcze data i rodzaj wydarzenia i jeśli jest zdjęcie to też zdjęcie. chcciałbym zrobić większe odstepy między poszczegolnymi wydarzeniami?
Go to the top of the page
+Quote Post
kielich
post 23.02.2010, 19:15:13
Post #10





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


polskie znaki to najlepiej pod połączeniem dopisz

  1. mysql_query ('SET NAMES utf8');
  2. mysql_query ('SET CHARACTER_SET lutf8_polish_ci');
]
i po sprawie

CO do daty to dopisz tam kolumnę data i już ... wyświetlić chyba wiesz jak ...


--------------------
Życie jest jak SESJA kiedyś wygaśnie ....

Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł
Go to the top of the page
+Quote Post
bemol
post 23.02.2010, 19:19:13
Post #11





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

Ostrzeżenie: (0%)
-----


1. sprawdź kodowanie pliku
Jeśli używasz windowsowego notatnika to jest ono w ANSI.
Zatem zmień edytor, np na darmowy PSPad.
2. sprawdź kodowanie w nagłówku pliku.
prawdopodobnie jest to iso-8859-2 lub utf-8
3. zapytanie
  1. mysql_query ('SET NAMES utf8');

Użyj tego zapytania jeśli poprzednie kroki nie pomogły i przy każdym dodawaniu rekordów też je wstaw.
Trzeba ujednolicić oba kodowania i najlepiej użyć takiego jakie jest w bazie (latin2/unicode) - odpowiednie dla wyżej wymienionych.

Żeby wybrać wszystkie pola użyj * zamiast nazw pól (wtedy wybierze z bazy wszystkie) lub wypisz wszystkie oddzielając przecinkiem.

Większe odstępy to po prostu <br /> (<br> dla HTML 4 i niższych)
ewentualnie użyj '\n' a jak nie to po prostu zmień w pliku CSS, bądź html padding.

Ten post edytował bemol 23.02.2010, 19:20:57


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
ciekawy30
post 23.02.2010, 19:20:57
Post #12





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 2.10.2009
Skąd: bydgoszcz

Ostrzeżenie: (10%)
X----


DObra żeby wszystkie informację mi wyświetlało już sobie poradziłem tylko bym chciał żeby między np. wydarzeniem a datą był odstęp np. taki jak tabulator w wordzie. jak to zrobić? i jeszcze jedno jak dodam żeby wyświetlało zdjęcie to wyskakują mi krzaczki w tym miejscu. co zrobić?
Go to the top of the page
+Quote Post
bemol
post 23.02.2010, 19:21:55
Post #13





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

Ostrzeżenie: (0%)
-----


pokaż jak wyświetlasz to zdjęcie.


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
ciekawy30
post 23.02.2010, 19:30:51
Post #14





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 2.10.2009
Skąd: bydgoszcz

Ostrzeżenie: (10%)
X----


$query = "SELECT data, wydarzenia, zdjęcie ".
"FROM wydarzenia ".
"WHERE rok ='2008'";

jest w polu typu blob ale może lepiej zmienić tak jak mi poradziłes zeby było w polu VARCHAR .... ? tylko potem jak to wyświetlić żeby było obok określonego wydarzenia?
Go to the top of the page
+Quote Post
Rysh
post 23.02.2010, 19:37:05
Post #15





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


Zdjęcie w bazie trzymasz?


--------------------
Go to the top of the page
+Quote Post
ciekawy30
post 23.02.2010, 19:38:15
Post #16





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 2.10.2009
Skąd: bydgoszcz

Ostrzeżenie: (10%)
X----


no własnie trzymam ale to nie jest dobry pomysł. więc chyba to zmienie.
Go to the top of the page
+Quote Post
bemol
post 23.02.2010, 19:39:26
Post #17





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

Ostrzeżenie: (0%)
-----


nie używaj polskich znaków w nazwach pól.
Pokazujesz jak pobierasz z bazy danych a nie jak wyświetlasz.
Jeśli wysyłasz plik na serwer to dodawaj w bazie jego ścieżkę lub nazywaj plik kolejnymi liczbami naturalnymi (i zintegruj z polem id)
Załóżmy tę pierwszą wersję.
  1. $query = mysq_query("SELECT * FROM wydarzenia WHERE rok ='2008'");
  2. if (mysql_num_rows($query) > 0) {
  3. foreach ($query as $row) {
  4. echo '<img src="'.$row['zdjecie'].'.jpg" alt="" />';
  5. }
  6. }


Pamiętaj, że musisz wtedy umieścić całą ścieżkę do bazy danych.


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
ciekawy30
post 23.02.2010, 21:10:57
Post #18





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 2.10.2009
Skąd: bydgoszcz

Ostrzeżenie: (10%)
X----


nie wiem jak zrobić te odstępy między data a wydarzeniem. zdjęcia nadl nie moge wyświetlić .pomoze ktos

Ten post edytował ciekawy30 23.02.2010, 21:23:02
Go to the top of the page
+Quote Post
Rysh
post 23.02.2010, 21:21:08
Post #19





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $db_host = 'r';
  3. $db_user = 'r';
  4. $db_pass = 'r';
  5. $db_name = 'wydarzenia';
  6. mysql_connect($db_host, $db_user, $db_pass) or die ("Sprawdź połączenie z serwerem.");
  7. mysql_select_db($db_name) or die ("Baza danych nie istnieje");
  8. $query = mysq_query("SELECT * FROM wydarzenia WHERE rok ='2008'") or die (mysql_error());
  9. while ($row = mysql_fetch_assoc($results)) {
  10. echo "Cos: ". $row[1] ." - ";
  11. echo "Cos innego: ". $row[2] ."<br />";
  12. //itd
  13. }
  14. ?>


--------------------
Go to the top of the page
+Quote Post
ciekawy30
post 23.02.2010, 21:26:28
Post #20





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 2.10.2009
Skąd: bydgoszcz

Ostrzeżenie: (10%)
X----


a co oynacya cođ i cođ innego
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 10.07.2025 - 04:57