Avatar billede KurtG Forsker
27. marts 2025 - 08:26 Der er 9 kommentarer

Funktion til at indkapsle tekst

Jeg skal have indsat en del tekstfilers indhold i mysql.
Definationer på felter:
Avis Indeks     varchar(255)     utf8mb4_general_ci    
Tekst Indeks     mediumtext     utf8mb4_general_ci    
Indsættelsen sker med følgende:
$sql = "INSERT INTO VAvis (Avis,Tekst) values ('$Pnavn','$heleteksten')";
Hvis $heleteksten ikke er renset for " (og måske også '), går det galt.
Men " er jo ofte en del af det, der giver mening, så det vil være bedst at bevare dem!
Findes der ikke en metode til at indkapsle teksterne i $heleteksten, så " bevares?
Avatar billede ejvindh Ekspert
27. marts 2025 - 09:04 #1
Bruger du prepared statements når du gemmer?

https://codersship.com/mysqli/creating-prepared-statements/
Avatar billede KurtG Forsker
27. marts 2025 - 09:24 #2
Det tror jeg ikke, da jeg ikke rigtig ved, hvad det gør!
Avatar billede ejvindh Ekspert
27. marts 2025 - 09:47 #3
Den allervigtigste funktion ved prepared er sikkerhed. Hvis du modtager input fra brugere, kan din database være sårbar overfor SQL-injections, hvis ikke du kører dem gennem prepare.

Men så mener jeg også, det vil løse dit problem med anførselstegn.

En uddybet forklaring på hvordan kan du finde i linket herunder
https://www.w3schools.com/php/php_mysql_prepared_statements.asp
Avatar billede ejvindh Ekspert
27. marts 2025 - 10:12 #4
Arne_v har lavet en fin (dog efterhånden lidt gammel) vejledning på dansk:
https://www.computerworld.dk/uploads/eksperten-guider/1480-Prepared-Statements-under-MySQLI-kom-igang.pdf
Avatar billede KurtG Forsker
27. marts 2025 - 10:24 #5
Det ser da fornuftigt ud.
Jeg vil prøve det, men der går nok noget galt for min undervejs.
Avatar billede arne_v Ekspert
27. marts 2025 - 17:48 #6
Den artikel er ikke min men olebole's.

Jeg havde også et par artikler om emnet i Java, C# of VB.NET.

Men de er siden kombineret, omskrevet til engelsk og har fået tilføjet PHP og ASP:
  https://www.vajhoej.dk/arne/articles/prepparam.html

Den forklarer hvilke problemer man løser. Inkl. quote problemet som jeg ofte kalder O'Toole problemet.

https://www.vajhoej.dk/arne/articles/phpdb.html viser også prepared statement for både mysqli og pdo.
Avatar billede arne_v Ekspert
27. marts 2025 - 17:56 #7
Der er også en kort omtale her:
  https://www.vajhoej.dk/arne/articles/dbintro2.html

(ja - jeg har skrevet en hel del omkring databaser)
Avatar billede KurtG Forsker
27. marts 2025 - 17:59 #8
Tak for jeres kommentarer og hjælp.
Jeg er ret tæt på at have lavet programmet til at gemme aviser og teksterne i en database efter Arnes opskrift. Det er spændende.
Avatar billede ejvindh Ekspert
27. marts 2025 - 19:19 #9
#6: Hov ja, sorry til olebole :-)
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