mis_polarny
3.04.2003, 12:27:11
Wiatm!
Mam skrypcik który pobiera z bazy mysql nazwy kursów i ładuje do pola kombi:
coś takiego:
Kod
<select name=kursy>
<? .........................
..........................
[php:1:e54f36ca12]<?php
while ($wiersz=mysql_fetch_row($wynik))
{
echo "<option value="$wiersz[1]">$wiersz[1]</option>";
}
?>[/php:1:e54f36ca12]
ale jak w następny skrypcie chce wykorzystać coś takiego:[php:1:e54f36ca12]<?php
$zapytanie = "select * from kursy where nazwa_kursu = ".$kursy."";
?>[/php:1:e54f36ca12]
to mysql dje mi nastepujacy błąd:
"
Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:Program FilesApache GroupApachehtdocskursypokaz_kursy.php on line 20"
Co mam zobić aby to zapytanie zadziałało?

Pozdrawiam!!!
itsme
3.04.2003, 12:33:09
[php:1:bc19866fdc]<?php
$zapytanie = "select * from kursy where nazwa_kursu = ".$kursy."";
?>[/php:1:bc19866fdc]
winno dzialac
mis_polarny
3.04.2003, 12:56:36
kurcze dalej nie działa w bazie dane zapisane są ze spacjami np "MS Word"
POMOCY!!!! :cry: :cry: :cry:
itsme
3.04.2003, 13:09:35
pokaz 18, 19, i 20 linie kodu
mis_polarny
3.04.2003, 13:31:46
to sa linie 18, 19, 20
18 $zapytanie = "select * from kursy where nazwa_kursu=".$kursy."";
19 $wynik = mysql_query($zapytanie);
20 $wiersz = mysql_fetch_array($wynik);
[php:1:438517fff9]<?php
$zapytanie = "select * from kursy where nazwa_kursu='".$kursy."'";
?>
[/php:1:438517fff9]
Powinno być tak (chyba)

. Przecież, gdybyś nie używał zmiennej $kursy, zapisałbyś tak: nazwa_kursu='MS Word'.
LeWaR
3.04.2003, 13:52:14
Mieszacie panowie.
Prosze:
[php:1:469e677511]<?php
$zapytanie = "select * from kursy where nazwa_kursu='$kursy';";
?>[/php:1:469e677511]
Mój działający:
[php:1:469e677511]<?php
$query = "SELECT * FROM $tabela where id='$id';";
?>[/php:1:469e677511]
Na prawdę działa Ci to z tymi dwoma średnikami ?!
LeWaR
3.04.2003, 14:00:40
A dlaczego by nie?
Pierwszy średnik jest dla bazy, znaczy, że tu kończy się kwerenda, natomiast drugi jest dla php
itsme
3.04.2003, 14:03:14
Cytat
Na prawdę działa Ci to z tymi dwoma średnikami ?!
kazde zapyatnie wyslane do mySQL-a moze ale nie musi konczyc sie srednikiem [;] w tym wypadku konczy sie zapytanie wyslanedo bazy danych oraz linia nic w tym dziwnego standard
a po co ten srednik ? mozesz wyslac wiecej niz jedno zapytanie [php:1:6794e34e67]<?php
$zapytanie="delete from tabela where id=$id; delete from tabela2 where id=$id; upadate set pole='$id' from tabela3";
?>[/php:1:6794e34e67]
nie sprawdzalem ale winno dzialac [/code]
Aha

. Nigdy nie pisałem średnika dla bazy i działało. Dlatego się zdziwiłem

.
LeWaR
3.04.2003, 14:07:23
Nawet kolorowanie składni na forum to uwzględnia ....
Cytat
Nawet kolorowanie składni na forum to uwzględnia ....
No a jak niby nie miałoby uwzględniać średnika pomiędzy cudzysłowami

.
[php:1:e5912e3385]<?php
$zmienna = " ;;;;; ";
?>[/php:1:e5912e3385]
LeWaR
3.04.2003, 14:58:37
Heh, fakt :oops:
Można nie zauważyć, tak samo jak tych kropek przy $kierunek..
Ciekawe. A co powiecie na to:
Cytat
mysql_query() wysyła zapytanie do aktywnej bazy na serwerze skojarzonym z podanym identyfikatorem połączenia. Jeżeli identyfikator_połączenia nie został podany, wykorzystywane jest ostatnio otwarte połączenie. Jeżeli żadne połączenie nie jest otwarte, podjęta zostanie próba ustanowienia go, poprzez wywołanie mysql_connect() bez argumentów.
Notatka: Zapytanie nie powinno kończyć się znakiem średnika.
LeWaR
3.04.2003, 15:14:02
Zawsze używam pliku connect.php w którym następuje łączenie do bazy i nie mam żadnych problemów.
ej chłopaki - moim zdaniem pies jest gdzie indziej pogrzebany
Cytat
[php:1:c352176526]<?php
while ($wiersz=mysql_fetch_row($wynik))
{
echo "<option value="$wiersz[1]">$wiersz[1]</option>";
}
?>[/php:1:c352176526]
może nie masz napisane
przy kombo name=kursy
mis_polarny
3.04.2003, 17:10:54
jasne że mam napisane name=kursy
mis_polarny
3.04.2003, 17:12:21
Ok panowie jużdziała dzięki, ale do tej pory niewiem dlaczego raz sie pisze
'$kursy';
".$kursy.";
kto to wyjaśni?

? :wink:
tokuri
3.04.2003, 20:32:31
Ja tam bym generalnie nie polecal tego srednika, pod linuxem mysql wyrzuca blad.
Skoro nie musi byc to poco go tam dawac.
LeWaR
4.04.2003, 10:15:58
Moja część działa pod linuksem z tym śrenikiem.
Różnice między '$kursy' a ".$kursy." :
ogólnie te kropki służą do łączenia stringów w jeden. natomiast w bazie są niepotrzebne, bo otrzymasz wartość otoczoną kropkami np.
'.doksztalcajacy.' a oczekiwana przez ciebie wartość to 'dokształcajacy' ,
przy załorzeniu $kursy="doksztalcajacy".
Należałoby zajrzeć do manuala nt stringów.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.