---
title: "Alla poster överskrivs"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/142697-alla-poster-överskrivs"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "stevenet"
published: "2006-02-19T12:25:43.000Z"
updated: "2006-02-19T14:57:01.000Z"
replies: 6
views: 373
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/databaser-sql/142697-alla-poster-överskrivs"
---

# Alla poster överskrivs

## #1 — stevenet, 2006-02-19T12:25Z

<http://pastebin.com/562486>

```php
<?
//besökarens uid 
                        $idCookie= $_SESSION[ID];
//hex #000000
                        $lankfarg=strip_tags($lankfarg);
                        $lankfarg=substr($lankfarg, 0, 7);
                        $lankfarg=mysql_real_escape_string($lankfarg);
//hex #000000
 
                        $bgfarg=strip_tags($bgfarg);
                        $bgfarg=substr($bgfarg, 0, 7);
                        $bgfarg=mysql_real_escape_string($bgfarg);
//html, sträng
                        $namn=mysql_real_escape_string($rte1);
 
mysql_query("UPDATE community_presentation SET info='$namn', bgfarg='$bgfarg', lankfarg='$lankfarg' WHERE id='$idCookie' limit 1");
?>
```

Vi ett tillfälle har användare lyckats skriva över alla poster i tabellen. Borde inte detta förhindras av limit 1?

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

## #2 — @nders, 2006-02-19T12:45Z

Under förutsättning att värdet *$idcookie* är fint och rätt och bra så bör ju inte SQL-frågan kunna uppdatera andra poster.

Men menar du att du har fler poster med samma id i tabellen?

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

## #3 — cyprys, 2006-02-19T12:52Z

Var tvungen att kolla om LIMIT verkligen fungerade så och det ska stämma. Limit 1 i slutet på en UPDATE ska bara uppdatera en post och därefter avsluta, enl dokumenatationen (MySQL 5.1).

Vilken version kör du och är du *verkligen* säker på att just denna kod körts en (1) gång och raderat samtliga poster?

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

## #4 — @nders, 2006-02-19T12:54Z

Utan att veta helt hur LIMIT fungerar så tycker jag det känns smått livsfarligt att inte ha med någon ORDER BY. Hur vet du annars vilken post du uppdaterar?

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

## #5 — stevenet, 2006-02-19T13:49Z

ID är unikt. Endast en post ska uppdateras. MySQL 4.1.9.

"UPDATE returns the number of rows that were actually changed. In MySQL 3.22 or later, the mysql_info() C API function returns the number of rows that were matched and updated and the number of warnings that occurred during the UPDATE. 

Starting from MySQL 3.23, you can use LIMIT row_count to restrict the scope of the UPDATE. A LIMIT clause works as follows:

Before MySQL 4.0.13, LIMIT is a rows-affected restriction. The statement stops as soon as it has changed row_count rows that satisfy the WHERE clause. 

**From 4.0.13 on, LIMIT is a rows-matched restriction. The statement stops as soon as it has found row_count rows that satisfy the WHERE clause, whether or not they actually were changed.** "
<http://dev.mysql.com/doc/refman/4.1/en/update.html>

Låt oss säga att idCookie gick att manipulera, skulle man då på något sätt kunna gå förbi LIMIT 1?

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

## #6 — @nders, 2006-02-19T13:57Z

Om ID är unikt i tabellen kan UPDATE-frågan bara uppdatera en post, oberoende av LIMIT.

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

## #7 — stevenet, 2006-02-19T14:57Z

Nu händer det grejer här. Felet inträffade igen. Alla poster ersattes, det blev dessutom något slags fel på tabellen, och enskilda poster gick inte hämta ut. Det fungerarade inte med REPAIR på tabellen.

\#1030 - Got error 127 from storage engine

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/142697-alla-poster-överskrivs
