WiRRE Skrevet 17. februar 2008 Del Skrevet 17. februar 2008 Dette er sikkert rimlig enkelt.. har ett array med en del verdier, som jeg ønsker å bruke under insert i en tabell, men når jeg skriver queryen slik: mysql_query("INSERT INTO tabell (fieldname1, fieldname2) VALUES ('$array['value1'], $array['value2'])") Jeg ser jo selv at det er " ' " anførselstegnene, som gjør at det hele bryter sammen? hvordan omme rundt dette? Lenke til kommentar
G2Petter Skrevet 17. februar 2008 Del Skrevet 17. februar 2008 Du kan kanskje escape '-ene med \, jeg vet ikke om det fungerer, eller så kan du gi variablene navn før spørringen: $val1 = $array['value1']; $val2 = $array['value2']; mysql_query("INSERT INTO tabell (fieldname1, fieldname2) VALUES ('$val1', '$val2')") Lenke til kommentar
WiRRE Skrevet 17. februar 2008 Forfatter Del Skrevet 17. februar 2008 Du kan kanskje escape '-ene med \, jeg vet ikke om det fungerer, eller så kan du gi variablene navn før spørringen: $val1 = $array['value1']; $val2 = $array['value2']; mysql_query("INSERT INTO tabell (fieldname1, fieldname2) VALUES ('$val1', '$val2')") Greia er et jeg gidder ikke gjøre det om til variable først, da det er snakk om et par.. dessuten er dette en problem stilling jeg stadig vekk har hatt, men ikke orka å finne ut av, gjort som du foreslår, nemmelig å tilordne de til variabler.. men jeg er 100% sikker på at dette er mulig uten å gjøre dette først.... Lenke til kommentar
Ernie Skrevet 17. februar 2008 Del Skrevet 17. februar 2008 (endret) To alternativer utover å bruke «vanlige» variabler som vist over: Concat av stringer:mysql_query("INSERT INTO tabell (fieldname1, fieldname2) VALUES ('".$array['value1']."', '".$array['value2']."')") Bruke {} rundt som vil fortelle PHP at alt dette skal tolkes som en variabel:mysql_query("INSERT INTO tabell (fieldname1, fieldname2) VALUES ('{$array['value1']}', '{$array['value2']}')") Endret 17. februar 2008 av Ernie Lenke til kommentar
Jonas Skrevet 17. februar 2008 Del Skrevet 17. februar 2008 mysql_query("INSERT INTO tabell (fieldname1, fieldname2) VALUES ('$array[value1], $array[value2])") Lenke til kommentar
Ernie Skrevet 17. februar 2008 Del Skrevet 17. februar 2008 mysql_query("INSERT INTO tabell (fieldname1, fieldname2) VALUES ('$array[value1], $array[value2])") Meget dårlig vane! Det der kan fort tolkes som indeks med verdien fra konstanten value1/value2 i arrayen $array. Dvs., utenfor en streng vil det være det første PHP tror du mener. Lenke til kommentar
Jonas Skrevet 18. februar 2008 Del Skrevet 18. februar 2008 (endret) Uhh, eh .. det var dette trådstarter var ute etter. Han hadde bare en syntaksfeil, som jeg rettet på. Endret 18. februar 2008 av Jonas Lenke til kommentar
Ernie Skrevet 18. februar 2008 Del Skrevet 18. februar 2008 Uhh, eh .. det var dette trådstarter var ute etter. Han hadde bare en syntaksfeil, som jeg rettet på. Jo, men det han gjør er jo å bruke en array som vanlig inni en string, og det går jo ikke. Normalt bruker man enten concat eller {} for å få det til. Lenke til kommentar
Martin A. Skrevet 18. februar 2008 Del Skrevet 18. februar 2008 (endret) Uhh, eh .. det var dette trådstarter var ute etter. Han hadde bare en syntaksfeil, som jeg rettet på. Da kan jo du prøve denne koden, og se om den printer det du forventer... <?php define( value1, 'value2' ); $array = array( 'value1' => "Dette er value1", 'value2' => "Dette er value2" ); echo $array[value1]; ?> Forøvrig støtter jeg Ernie's forslag "b", da dette ser mye penere ut, enkelt og greit. Endret 18. februar 2008 av M4rTiN Lenke til kommentar
Peter Skrevet 18. februar 2008 Del Skrevet 18. februar 2008 Forøvrig støtter jeg Ernie's forslag "b", da dette ser mye penere ut, enkelt og greit. Jeg synes a er penest, så da er vi vel like langt? Dette illustrerer bare hvor individuelt kodestil er, men det viktigste er at man er konsekvent. Lenke til kommentar
Martin A. Skrevet 18. februar 2008 Del Skrevet 18. februar 2008 Vi er nesten like langt. Vi har hvertfall kommet frem til at en av de to metodene er best. Hva trådstarter velger er fult og helt opp til ham selv. Lenke til kommentar
Garanti Skrevet 23. april 2008 Del Skrevet 23. april 2008 (endret) Slenger inn et spørsmål, får syntaksfeil ved bruk av denne mysql-snutten: mysql_query("INSERT INTO entries (Header, Entry, By, Time, Comments) VALUES ('{$Entry['Header']}', '{$Entry['Entry']}', '{$Entry['User']}', '{$Entry['Time']}', '{$Entry['Comments']}')", $link) or die(mysql_error()); Hvorfor? Edit: Fikk det til nå Endret 23. april 2008 av Garanti Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå