Avatar billede a330 Nybegynder
06. oktober 2004 - 18:42 Der er 12 kommentarer og
1 løsning

kan man sætte en variable i en select?

kan man sætte en variable ind i en select sætning
feks
"SELECT * FROM links WHERE tabelnavn.feltnavn=$kode_id"
eller hvordan er syntaksten.?
jeg har en variable som kommer fra en anden side, og afhængig af værdien, skal den kun tage de felter med den værdi som variablen har.
Avatar billede arne_v Ekspert
06. oktober 2004 - 18:47 #1
Spørger du om du i PHP kan angive $navn inden i "" streng ?
Avatar billede arne_v Ekspert
06. oktober 2004 - 18:48 #2
Jeg bruger altid

"SELECT * FROM links WHERE tabelnavn.feltnavn=" . $kode_id

men jeg tror faktisk at PHP laver substitution inden i strengen
Avatar billede a330 Nybegynder
06. oktober 2004 - 18:56 #3
det virker herhjemme med SELECT * FROM links WHERE tabelnavn.feltnavn= $kode_id
men ikke hos mit webhotel.

skal man have " . med eller er det en tyrkfejl...
Avatar billede arne_v Ekspert
06. oktober 2004 - 19:15 #4
Den skal med.

Det er konkatanerings operator.
Avatar billede a330 Nybegynder
06. oktober 2004 - 19:31 #5
det virker fint herhjemme, men stadig ikke på webhotellet hmmm..
må arbejde videre i morgen..
Avatar billede arne_v Ekspert
06. oktober 2004 - 19:36 #6
Så ligger fejlen jo nok ikke i den SQL streng.

Men snarere i noget db connection / setup.
Avatar billede jensgram Nybegynder
07. oktober 2004 - 06:54 #7
hvis du har en

mysql_query("noget her" . $var);

så er det altid en idé at ændre til

/*mysql_query*/ print("noget her" . $var);

for lige at se, om SQL'en nu også ser ud som ventet.

Ellers er

mysql_query("noget her" . $var) or die(mysql_error());

nok din ven...
Avatar billede a330 Nybegynder
07. oktober 2004 - 08:58 #8
så er jeg på banen igen
jens jeg prøved med en echo for at se om jeg fik $var med, og det gjode jeg på min egen pc, men ikke på webhotellet !
linien ser sådanne ud "SELECT * FROM links WHERE links.kategori = ".$kode_id;

har også prøvet med
"SELECT * FROM links WHERE links.kategori ='$kode_id'"; det virker også på min egen pc men ikke på webhotellet (b-one) men der får jeg til gengæld ikke mysql fejl.
er lidt lost efterhånden
Avatar billede jensgram Nybegynder
07. oktober 2004 - 09:38 #9
Så sender du nok $kode_id med som GET eller POST variabel.

Da b-one kører safe_mode (eller bare en nyere version af PHP end dig) betyder det, at du skal hente den via $_POST['kode_id'] eller $_GET['kode_id']
Avatar billede a330 Nybegynder
07. oktober 2004 - 12:26 #10
er er meget ny på php og mysql.

jeg sender $kode_id med et link:
<a href="link_show.php?kode_id=7">Link Tekst</a> (er det rigtigt???)
og modtagersiden:
$Recordset = mysql_query("SELECT * FROM links WHERE links.kategori = **og her er problemet hvad skal der stå her**)

håber i bære over med mig..  lol
Avatar billede jensgram Nybegynder
07. oktober 2004 - 15:54 #11
jeps - så er det $_GET - løsningen du skal have fat i:

"SELECT * FROM links WHERE tabelnavn.feltnavn = " . $_GET['kode_id'];
Avatar billede a330 Nybegynder
07. oktober 2004 - 16:20 #12
kanon, det virker nu....
stor stor sten fra mit hjerte!
tak for hjælpen Jens, smid et svar....
Avatar billede jensgram Nybegynder
07. oktober 2004 - 17:09 #13
Så lidt...

Generelt skal du vænne dig til at benytte $_GET, $_POST, $_ENV osv., da det er "den rigtige" indfaldsvinkel...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester