Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP + MySQL = PROBLEM!!!!!!
Forum PHP.pl > Forum > PHP
mis_polarny
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?questionmark.gifquestionmark.gif
Pozdrawiam!!! rolleyes.gif
itsme
[php:1:bc19866fdc]<?php
$zapytanie = "select * from kursy where nazwa_kursu = ".$kursy."";
?>[/php:1:bc19866fdc]
winno dzialac
mis_polarny
kurcze dalej nie działa w bazie dane zapisane są ze spacjami np "MS Word"

POMOCY!!!! :cry: :cry: :cry: sad.gif sad.gif
itsme
pokaz 18, 19, i 20 linie kodu
mis_polarny
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);
Cod
[php:1:438517fff9]<?php
$zapytanie = "select * from kursy where nazwa_kursu='".$kursy."'";
?>
[/php:1:438517fff9]
Powinno być tak (chyba) biggrin.gif. Przecież, gdybyś nie używał zmiennej $kursy, zapisałbyś tak: nazwa_kursu='MS Word'.
LeWaR
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]
Cod
Na prawdę działa Ci to z tymi dwoma średnikami ?!
LeWaR
A dlaczego by nie?
Pierwszy średnik jest dla bazy, znaczy, że tu kończy się kwerenda, natomiast drugi jest dla php
itsme
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]
Cod
Aha smile.gif. Nigdy nie pisałem średnika dla bazy i działało. Dlatego się zdziwiłem biggrin.gif.
LeWaR
Nawet kolorowanie składni na forum to uwzględnia ....
Cod
Cytat
Nawet kolorowanie składni na forum to uwzględnia ....

No a jak niby nie miałoby uwzględniać średnika pomiędzy cudzysłowami smile.gif.

[php:1:e5912e3385]<?php
$zmienna = " ;;;;; ";
?>[/php:1:e5912e3385]
LeWaR
Heh, fakt :oops:

Można nie zauważyć, tak samo jak tych kropek przy $kierunek..
DeyV
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
Zawsze używam pliku connect.php w którym następuje łączenie do bazy i nie mam żadnych problemów.
mazy
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 smile.gif
mis_polarny
jasne że mam napisane name=kursy
mis_polarny
Ok panowie jużdziała dzięki, ale do tej pory niewiem dlaczego raz sie pisze
'$kursy';
".$kursy.";
kto to wyjaśni?questionmark.gif? :wink:
tokuri
Ja tam bym generalnie nie polecal tego srednika, pod linuxem mysql wyrzuca blad.

Skoro nie musi byc to poco go tam dawac.
LeWaR
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.