27. december 2012 - 17:06Der er
25 kommentarer og 1 løsning
PHP MySQL Update Tabel fejl
Hej eksperter!
Jeg har et problem med min kodning - har lavet en form der opdaterer min data i min database. Er der nogen af jer som kan se fejlen? Poster koden under:
Ærligt talt, så kan jeg ikke se nogen grund til at vi skal sidde og lede efter fejl. Du må komme med lidt mere. Hvad gør den (ikke)? Hvad burde den gøre? Har du slået fejlmeddelelser til? Hvilken fejl får du? Osv osv.
Jeg får ingen fejlmeddelelser. Det koden burde gøre er, at update mine informationer ved hjælp af disse input felter. Det vil sige, at hvis jeg under "Navn:" ændre navnet fra Peter Larsen til Jens Hansen, så skal koden update min MySQL row der hedder navn til det ny-indtastet navn.
Når jeg trykker på "Gem faktura", så ryger den fint videre - det vil sige, at jeg får min besked "Fakturen er gemt", men den bliver ikke opdateret i databasen som den meget gerne skulle gøre :)
Der er ikke nævneværdig forskel på det, du laver og ganske almindelig, gammeldags MySQL.
Fordelene ved MySQLI får du ved brug af prepared statements. Bruger du PS, gør det din kode sikker overfor SQL-injection (og så kan du springe 'addslashes-hackeriet' over) - og gør den i mange tilfælde væsentligt hurtigere
Jeg har kigget på din guide med Prepared Statements og dem anvender jeg skam også. Dette er min test side. Det vil sige, at jeg kun bruger denne side som test - hvis koden virker tilføjer jeg alle mine prepared statements.
Det er bare blevet en vane at bruge addslashes når jeg tester mine PHP-koder :)
Jeg brugte din metode du nævnet længere oppe med at bruge if(!$mysqli->query(...)) die('Ooops:'...), og denne fejlmeddelse tjekkede frem:
Fejl:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by = 'Middelfart', email = 'km@lbg.dk', email2 = 'kj@rdsmontanagroup.dk' ' at line 7
"Det vil sige, at jeg kun bruger denne side som test - hvis koden virker tilføjer jeg alle mine prepared statements."
Er det mon klogt at teste en kode, man ikke skal bruge til noget? Ville det mon være mere hensigtsmæssigt at teste den kode, der faktisk skal bruges? Bare en tanke =)
Så må det være arne_v's point. Det var hans idé med at få dig til at teste på MySQLI-fejl, der kunne vise dig, hvor fejlen lå. Jeg må indrømme, at jeg havde overset fejlen i min undren over den øvrige syntaks - men jeg har på fornemmeren, at Arne faktisk havde set den. Den er trods alt lidt af en klassiker her i landet *o)
"Er det mon klogt at teste en kode, man ikke skal bruge til noget? Ville det mon være mere hensigtsmæssigt at teste den kode, der faktisk skal bruges?"
Du har ret i, at det ikke er klogt at teste et stykke kode man ikke skal bruge til noget, men koden her skal faktisk bruges i vores brugersystem. Det jeg mente med at teste var, at jeg opretter en ny testside.php som hvor jeg så skriver koden i. Det giver mig et bedre overblik over mine koder :)
#arne_v
Hvis du smider et svar, så accepterer jeg lige dit svar.
.. mange tak for hjælpen til både dig Olebole og Arne_v!
Arne, for pokker! Det der får vi da aldrig en diskusion ud af! *D
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.