Avatar billede alkrojen Nybegynder
18. januar 2009 - 14:54 Der er 17 kommentarer og
1 løsning

PHP parse error?

Hej eksperter

Jeg er stadig i det spæde begynderstadie mht. PHP.
Når jeg forsøger at køre mit script får jeg følgende fejlmelding:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\AppServ\www\Test\NewUser.php on line 17

I line 17 står der følgende:

$rs = mysql_query("SELECT PersonNo FROM person WHERE Email='.$_POST['Email']'");

Hvad er det jeg gør galt?

på forhånd tak for hjælpen

mvh.
Allan
Avatar billede supersquirrel Nybegynder
18. januar 2009 - 14:57 #1
$rs = mysql_query("SELECT PersonNo FROM person WHERE Email='.$_POST['Email']'");

Ret til:
$rs = mysql_query("SELECT PersonNo FROM person WHERE Email='.$_POST[Email].'");
Avatar billede erikjacobsen Ekspert
18. januar 2009 - 15:00 #2
$rs = mysql_query("SELECT PersonNo FROM person WHERE Email='".$_POST['Email']."'");
Avatar billede supersquirrel Nybegynder
18. januar 2009 - 15:03 #3
Omg.. Da vildt.. Brug erikjacobsens eksempel
Avatar billede jakobdo Ekspert
18. januar 2009 - 15:48 #4
Eller måske bare:

$rs = mysql_query("SELECT PersonNo FROM person WHERE Email='$_POST['Email']'");
Avatar billede erikjacobsen Ekspert
18. januar 2009 - 15:49 #5
Den vil nu ikke virke, men den her vil:
$rs = mysql_query("SELECT PersonNo FROM person WHERE Email='{$_POST['Email']}'");
Avatar billede jakobdo Ekspert
18. januar 2009 - 15:57 #6
Hvordan kan det være erik ?
Jeg har lige testet og du har jo ret.
Normalt kigges der jo efter $variabler inden i "" strenge.
Dog virker dette så:
$rs = mysql_query("SELECT PersonNo FROM person WHERE Email='$_POST[Email]'");

Altså uden ' omkring Email
Avatar billede majbom Novice
18. januar 2009 - 16:19 #7
jeg plejer altid at bruge denne:

$rs = mysql_query("SELECT PersonNo FROM person WHERE Email='$_POST[Email]'");

-> #0 - hvis du ved at der altid kun er en i tabellen med den email-adresse du søger, kan du med fordel sætte LIMIT 1 sidst i din query:

$rs = mysql_query("SELECT PersonNo FROM person WHERE Email='$_POST[Email]' LIMIT 1");

så den stopper med at søge når den har fundet én (den eneste) - uden limit, vil den fortsætte indtil den når hele tabellen igennem.
Avatar billede jakobdo Ekspert
18. januar 2009 - 16:36 #8
Og jeg ville nok lave den sådan her:

$rs = mysql_query("SELECT `PersonNo` FROM `person` WHERE `Email`='".$_POST['Email']."' LIMIT 1");
Avatar billede jakobdo Ekspert
18. januar 2009 - 17:48 #10
Jaja, selv gamle hunde kan lære nye tricks. :o) Tak Erik.
Avatar billede alkrojen Nybegynder
19. januar 2009 - 10:40 #11
Tak for jeres inputs allesammen. erikjacobsen din kode er den første der virker, derfor må pointene gå til dig. Send et svar så skal du få dem.
Avatar billede jakobdo Ekspert
19. januar 2009 - 10:46 #12
Erik samler ikke på point, så smid svar og behold dem selv.
Avatar billede locke Nybegynder
19. januar 2009 - 10:52 #13
Det med at sætte limit på og undgå en søgning i hele tabellen, hvis feltet, man søger på, er unikt, så stopper den efter førstfundne (da der umuligt kan være flere).
Avatar billede erikjacobsen Ekspert
19. januar 2009 - 10:58 #14
Ingen point til mig, tak.
Avatar billede majbom Novice
19. januar 2009 - 12:43 #15
-> locke - ??
Avatar billede majbom Novice
04. november 2010 - 11:00 #16
kan vi lukke hér?
Avatar billede alkrojen Nybegynder
04. november 2010 - 11:21 #17
prøver slv at sende et svar, men det virker åbenbart ikke
Avatar billede alkrojen Nybegynder
04. november 2010 - 11:22 #18
dasd
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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



IT-JOB