det virker fint så længe mit id er på et tal, lige så snart jeg bruger 2 eller mere, så siger den, den ikke kan finde noget magen til id. Parser jeg id ind via et input felt, så virker det dog fint. Nogle der har en ide til hvad der kan være galt?
Og tallene er forskellige? Hvad kan der fx stå i feltet?
Ja, hvis der er tal bør det være et int-felt. En strengværdi i SQL skal som udgangspunkt have være som '....'. Mysql er af og til lidt (for) flink. Så du bør:
WHERE `id` = '{$id}'";
(men igen: det er håbløst usikekrt ikke at bruge parametes i mysqli)
Hvad er det egentlig du siger her: "Parser jeg id ind via et input felt, så virker det dog fint."
det er et fil download system, hvor man skriver en række numreog får den fil ud fra det nummer. hvis man bruger mit input felt til at skrive numret, og sende et vidre i systemet, via id=nummer så virker det fint. skriver jeg samme adresse direkte i browseren virker det kun hvis tallet er på max 1 tal.. giver det bedre mening?
et eksempel på et id er "651479531456"
magic mouse>
SELECT * FROM file WHERE token = '212736970552k'
det giver mig bare den row hvor den fremgår, som det skal? (kørt i mysql workbench)
Vil du udskrive $query i et af de tilfælde, der ikke virker.
Der skal '...' om. Og det bør være fint med '{$id}' - så længe du bare tester på din egen maskine, og ikke lægger det på nettet. Vi skal lige finde ud af hvad der er galt.
Og så blev der stillet et spørgsmål til dig i #4. Vil du også kigge på det?
SELECT `mime`, `name`, `size`, `data` FROM `file` WHERE `id` = 12
angående nummer 4 så har jeg svaret, som jeg fostod spøgsmålet, er ikke lige her jeg har mest erfaring endnu, så er det kan godt være jeg har gjort det forkert?
SELECT * FROM file WHERE token = '212736970552k'
det giver mig bare den row hvor den fremgår, som det skal? (kørt i mysql workbench)
Den SQL jeg skrev giver os et billede af din database som den ser ud. Årsagen til at jeg spørg om det er for at se om din opsætning af databasen kan have noget med det at gøre. Det er lige til at kopiere ind i Workbench og komme med resultatet her. (Du skal ikke ændre på den)
hov, jeg har vist gjort det hele mere kompliceret end det måske var nødvendigt.
Først har jeg en login, der er lavet som så username faktisk er min token. Med dette slår jeg op i systemet, og ser om den token findes, og sender idét vidre, over til den første kode i paste bin.
Konklusionen er altså at `id` er et almindeligt tal felt, autoincrement, med små værdier.
Men så er det forkert skrevet tidligere at 'et eksempel på et id er "651479531456" ' - det forvirrede vist lidt.
(Og hvis det er noget, der skal holdes lidt hemmeligt, er det ikke så godt, for hvis man får id=12, så kan man udskifte det med id=7, og se en anden fil - altså hvis det er et problem)
Men du siger så at hvis du skriver
....file_download.php?id=12
så virker det ikke. Men
....file_download.php?id=7
virker.
1) Hvordan virker det ikke? Hvad sker der? 2) Er der rækker med id både 7 og 12, og er de andre felter ok?
Jeg samler slet ikke på point, tak. Accepter blot dit eget svar.
Synes godt om
Ny brugerNybegynder
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.