22. oktober 2004 - 12:51
Der er
22 kommentarer og 1 løsning
problemer med \
Hvordan smider jeg tegnet \ ind i min db... og andre tegn som < > ' " &
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
22. oktober 2004 - 12:51
#1
Hvad gør du nu?
22. oktober 2004 - 12:54
#2
\\ =)
22. oktober 2004 - 12:58
#3
har prøvet med $str = htmlentities($str); $str = addslashes($str);
22. oktober 2004 - 13:06
#4
22. oktober 2004 - 13:06
#5
Husk at connecte til databasen før du bruger funktionen.
22. oktober 2004 - 13:12
#6
må vi se din SQL...
22. oktober 2004 - 13:15
#7
$sql = "UPDATE `$tablename` SET `name` = '$name', u_id = '$_uid' WHERE `id` = '$id' LIMIT 1";
22. oktober 2004 - 13:26
#8
Hvis det er '$name' det er galt med: $sql = sprintf("UPDATE `$tablename` SET `name` = '%s', u_id = '$_uid' WHERE `id` = '$id' LIMIT 1", mysql_real_escape_string($name));
22. oktober 2004 - 13:38
#9
detox: vil du forklare...
22. oktober 2004 - 13:43
#10
mysql_real_escape_string() indsætter de nødvendige backslash \ og sprintf() giver dig en formateret streng, hvor den indsætter resultatet af mysql_real_escape_string() i stedet for %s.
22. oktober 2004 - 13:45
#11
%s hvad er det?
22. oktober 2004 - 13:58
#12
%s er der hvor sprintf() indsætter resultatet af mysql_real_escape_string().
22. oktober 2004 - 14:03
#13
ok det er altså forud defineret...
22. oktober 2004 - 14:04
#14
Ja, det er en slags 'stand in'. Du kan jo tjekke resultatet ved at printe forespørgslen ud, fx: <?php require 'db.php'; // Forbindelse til databasen $tablename = 'tabel'; $name = 'hej \der'; $_uid = 123456; $id = 4; $sql = sprintf("UPDATE `$tablename` SET `name` = '%s', u_id = '$_uid' WHERE `id` = '$id' LIMIT 1", mysql_real_escape_string($name)); echo $sql; ?>
22. oktober 2004 - 14:09
#15
Et simpelt eksempel: $str = sprintf("Hej %s dig", "med"); echo $str;
22. oktober 2004 - 14:29
#16
mysql_real_escape_string($name)); kan man have flere variabler i mysql_real_escape_string($name, $lastname));?
22. oktober 2004 - 14:40
#17
Hva' så når jeg heneter det fra databasen igen?
22. oktober 2004 - 14:46
#18
Nej, men du kan have flere mysql_real_escape_string()'s i en sprintf(), fx: $sql = sprintf("UPDATE `$tablename` SET `name` = '%s', lastname = '%s', u_id = '$_uid' WHERE `id` = '$id' LIMIT 1", mysql_real_escape_string($name), mysql_real_escape_string($lastname));
22. oktober 2004 - 14:48
#19
Hva' så når jeg heneter det fra databasen igen?
24. oktober 2004 - 14:53
#20
Så skal du ikke foretage dig noget specielt, da selve backslash-tegnene ikke bliver gemt i databasen.
24. oktober 2004 - 14:58
#21
Ok takkker for hjælpen...
27. november 2004 - 15:50
#22
detox: Jeg har problemer nåj jeg skal hente værdien ud i en form fx i et tekst felt... Der kommer ingenting frem da text feltets value er = ""test"" hvad skal jeg gøre???
28. november 2004 - 01:02
#23
Prøv måske at bruge apostroffer omkring value: <input type="text" name="test" value='<?php echo $test?>' />
Vi tilbyder markedets bedste kurser inden for webudvikling