---
title: "backslash"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/175417-backslash"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "tanten"
published: "2008-11-20T10:21:55.000Z"
updated: "2008-11-20T12:21:02.000Z"
replies: 3
views: 660
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/175417-backslash"
---

# backslash

## #1 — tanten, 2008-11-20T10:21Z

Vilket är det bästa sättet att slippa få \\ i databasen, om man har ett formulär som antingen hämtar befintlig rad i en tabell eller ska skapa en ny rad. Jag har fått tankesläpp på hur och när man ska få till det rätt nu när det börjat komma in hästar med accent i namnet. Typ Lindy's
Här en del av koden

```php
if($horseID) {
$q = $conn->query("SELECT * FROM horses WHERE horseID=$horseID");
$horse = $q->fetch(PDO::FETCH_ASSOC);
$q->closeCursor();
$q = null;
}
.....
else {
if(@$horse['horseID']) {
$sql = "UPDATE horses SET horse_name=?, .....
}
else {
$sql = "INSERT INTO horses(horse_name....) VALUES(?,....
}

$stmt = $conn->prepare($sql);
try
{
$stmt->execute(array($_POST['horse_name'],...

och formuläret
<input type="text" name="horse_name"
value="<?=($_POST['horse_name'])?>">
```

Har testat med stripslashes och htmlspecialcharsi formuläret, men det blir ju inte rätt. Snälla tänk mig åt rätt håll   :)

Permalänk: https://www.webforum.nu/p/175417

## #2 — bassebhu, 2008-11-20T11:24Z

Det är ju en säkerhetsgrej. Du kan ju stänga av magic_quotes, men om det är rekommenderat är en annan sak.

Den lägger helt enkelt addslashes() på det som sparas till databasen. Du får då använda stripslashes() när du hämtar ut datan igen.

Permalänk: https://www.webforum.nu/p/2156856

## #3 — colione, 2008-11-20T11:47Z

> **bassebhu skrev:**
>
> Det är ju en säkerhetsgrej. Du kan ju stänga av magic_quotes, men om det är rekommenderat är en annan sak.
> 
> Den lägger helt enkelt addslashes() på det som sparas till databasen. Du får då använda stripslashes() när du hämtar ut datan igen.

Nej, magic quotes är en idiotgrej och bör stängas av illa kvickt, att förlita sig på det är osäkert. Iom att tanten kör PDO så ska hon själv inte escapea datan.

Om du inte har tillgång till att ändra magic_quotes_gpc på servern är detta en bra lösning:

```php
if (get_magic_quotes_gpc()) {
        $in = array(&$_GET, &$_POST, &$_COOKIE);
        while (list($k,$v) = each($in)) {
                foreach ($v as $key => $val) {
                        if (!is_array($val)) {
                                $in[$k][$key] = stripslashes($val);
                                continue;
                        }
                        $in[] =& $in[$k][$key];
                }
        }
        unset($in);
}
```

Lägg den i config eller en en include som alltid ikluderas vid databas-interaktion.

Permalänk: https://www.webforum.nu/p/2156857

## #4 — tanten, 2008-11-20T12:21Z

Ser ut att fungera perfekt Colione efter att ha provat. Tack så jättemycket!

Permalänk: https://www.webforum.nu/p/2156863

---

Tråden på webben: https://www.webforum.nu/amne/php/175417-backslash
