Fejl i kode, nogen der kan hjælpe?

Tags:    php

<< < 123 > >>
Jeg har denne kode
Fold kodeboks ind/udKode 

Men der kommer følgende fejl:
"Warning: extract()[function.extract]:first argument should be an array in *sti* on line 30"

Jeg formoder fejlen befinder sig i følgende del af koden:
$sql = "select * from varebeskrivelse, vareoversigt where vareoversigt.id = '.$id'";
$result = $db->query($sql);
$row = $result->fetch();
extract($row);

Linje 30 er "extract($row);".

Nogen der kan hjælpe?



Det kan jeg sagtens, men kan man overhovedet oploade billeder her?

Nå, men det kan vel også skrives:

Tabel: varebeskrivelse
VareNr: varchar(10)
VareNavn: varchar(15)
VareBeskrivelse: mediumtekst
Billede: varchar(30)

Tabel: vareoversigt
Id:int(11)
VareNr: varchar(10)
Farve: varchar(15)
Størrelse: varchar(10)
Pris: double(4,2)

Der er en en til mange forbindelse fra VareNr fra varebeskrivelse til VareNr fra vareoversigt.

Regner med det var det du ville se?



Det kan jeg sagtens, men kan man overhovedet oploade billeder her?

Nå, men det kan vel også skrives:

Tabel: varebeskrivelse
VareNr: varchar(10)
VareNavn: varchar(15)
VareBeskrivelse: mediumtekst
Billede: varchar(30)

Tabel: vareoversigt
Id:int(11)
VareNr: varchar(10)
Farve: varchar(15)
Størrelse: varchar(10)
Pris: double(4,2)

Der er en en til mange forbindelse fra VareNr fra varebeskrivelse til VareNr fra vareoversigt.

Regner med det var det du ville se?


Ok, vareoversigt.Id er en integer. Dvs. at punktummet ikke var lovligt og at det derfor var rigtigt at fjerne det. At der så kommer andre fejl er noget andet.
Hvilke fejl kom der ?



sjovt at det virkede med punktummet i eksemplet fra "den lyserøde side" så.

Nå men jeg prøvede lige at fjerne punktummet, og ingen fejl, ved ikke lige hvad der sker.

Men i hvert fald så viser den stadig ingen information fra databasen...



sjovt at det virkede med punktummet i eksemplet fra "den lyserøde side" så.

Nå men jeg prøvede lige at fjerne punktummet, og ingen fejl, ved ikke lige hvad der sker.

Men i hvert fald så viser den stadig ingen information fra databasen...


Prøv at poste hele søgningen. Altså:

select * from....




Fold kodeboks ind/udKode 




ingen forslag? :(



Den her:
while($row = $result->fetch()){
extract($row);}
...ser lidt mærkelig ud. Den henter hver række, én af gangen, og trækker resultatet ud til variable. Men for hver gennemløb af løkken overskrives variablene fra sidste gennemløb, så du ender med sidste resultat.

Derudover er det svært at sige, hvad der er galt. Hvad får du af fejl ?
Hvad ser forkert ud ?



Jamen den "while" satte jeg på, som én (kan ikke lige huske hvem) anbefalede mig, for at få den til at lade være at brokke sig over en manglende array (den nøjagtige fejlmeddelelse står her også et sted i tråden).

Lige nu er der ingen fejlmeddelelser, men tilgengæld viser den ingen informationer fra tabellen, den viser sådan set kun antallet af varer.



Jamen den "while" satte jeg på, som én (kan ikke lige huske hvem) anbefalede mig, for at få den til at lade være at brokke sig over en manglende array (den nøjagtige fejlmeddelelse står her også et sted i tråden).

Lige nu er der ingen fejlmeddelelser, men tilgengæld viser den ingen informationer fra tabellen, den viser sådan set kun antallet af varer.

Det var nok mig der sagde det, men det lader ikke til at du ved, hvad det gør så jeg prøver igen.

En søgning KAN i visse tilfælde (afhængig af søgningen) returnere flere resultater. Alle varer af typen "Harddisk", f.eks.

Så kan man ikke bare tage det første match og vise brugeren det. Så er man nødt til at rende igennem hele listen, én af gangen, og det kunne man f.eks. gøre med et loop, men hver gennemgang af løkken skal så også gøre et eller andet med resultatet. F.eks. skrive det ud.

I starten vidste vi meget lidt om din søgning, men senere har du så vist, at det er på et specifikt vare nummer, og i det tilfælde vil der (sandsynligvis) være ét eller nul resultater, og det lader til, at der er nul.

Prøv at kigge efter i databasen, om der virkelig ér en række i tabellen, som matcher det ID du søger efter.



Hmm, jeg forstår ikke koden helt i dybden. Det er derfor jeg har fundet en færdig kode. Problemet var bare at det lige skulle tilpasses mit system.
Jeg synes jeg har postet stor set alt efterhånden, og ved ikke, hvad jeg mere skal. Jeg må nok enten søge efter en anden kurvfunktion, eller finde løsningen et andet sted, men mange tak for din tid og hjælp :)



Indlæg senest redigeret d. 25.10.2008 13:03 af Bruger #14247
<< < 123 > >>
t