Kan du ikke bare replace det tekst du sætter ind?
value=replace(value,"'","''")
Hvis det er et problem saa staar din applikation formentlig piv aaben for SQL injection.
Som absolut minimum brug mysql_real_escape_string.
Bedre brug mysqli (eller PDO) og prepared statement.
Jeg har ikke brugt denne mysql_real_escape_string() så meget da jeg stadig er lidt ny i det og ikke har kendt til konsekvenserne ved ikke bruge denne.
Hvad er den rigtigste måde så at bruge den på???
Jeg har alle disse felter:
mysql_query("insert into hold (kodeord, hold_gruppe, hold, navn, addresse, postby, tlf, mobil, email, fodselsdag, alder, hojde, dato, ip, dp, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, aargang) values ('$_POST[kodeord]','$_POST[hold_gruppe]','$_POST[hold]','$_POST[navn]','$_POST[addresse]','$_POST[postby]','$_POST[tlf]','$_POST[mobil]','$_POST[email]','$_POST[fodselsdag]','$_POST[alder]','$_POST[hojde]','$date','$_SERVER[REMOTE_ADDR]','$_POST[dp]','$_POST[a1]','$_POST[a2]','$_POST[a3]','$_POST[a4]','$_POST[a5]','$_POST[a6]','$_POST[a7]','$_POST[a8]','$_POST[a9]','$_POST[a10]','$_POST[aargang]')");
og jeg har gjort sådan før, altså lave $_POST["kodeord"] om til $kodeord via
$kodeord = mysql_real_escape_string($_POST["kodeord"]);
kan det ikke sættes ind i
mysql_query("insert into hold......
på en eller anden måde ?
Hvis du er tilhænger af ulæselig kode kan du altid bruge:
mysql_query("..." . mysql_real_escape_string($_POST['kodeord']). "...");
Nu kan det godt være at jeg ikke er helt med men jeg har lige prøvet dette.
mysql_query("insert into hold (kodeord) values (mysql_real_escape_string($_POST['kodeord']))");
og der siger Dreamweaver at der er en fejl i koden, men det er nok mig der er helt galt på den :)
Til at strate med rettede jeg det til dette
mysql_query("insert into hold (kodeord) values ('mysql_real_escape_string($_POST[kodeord]))");
men der bliver resultatet
mysql_real_escape_string(det der er indtastet)
????
Ja. Naturligvis.
mysql_query("insert into hold (kodeord) values ('" . mysql_real_escape_string($_POST['kodeord']) . "')");
#7
Det er bare så smukt, det virker jo :)
smid et svar så får du hav delen af point.
#1
"replace" er det det eneste våben der er imod sådanne tegn. Kan man ikke kalde Datatype noget andet inde MYSQL. Tekst har jeg prøvet, det virker ik :)
Giver point da #1 ikke svarrer tilbage.