---
title: "Update + mysql ???"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/175141-update-mysql"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Guldstrand"
published: "2008-11-03T19:03:47.000Z"
updated: "2008-11-03T22:33:22.000Z"
replies: 2
views: 364
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/175141-update-mysql"
---

# Update + mysql ???

## #1 — Guldstrand, 2008-11-03T19:03Z

Jag har följande kod för att ändra antal gb på en användares profil + spara en logg om detta.
Men det sparas en logg fast att jag **INTE** har ändrat något.   :q 

Hur löser jag det, så att det endast sparas en logg när jag ändrar fältet ($\_POST\[upp\]), och **INTE** annars? 
  :r 

```php
if ((isset($_POST['upp'])) && (($upp = $_POST['upp']) != ($curupp = $user['uploaded'])))

	{
		    $modcomment = gmdate("Y-m-d") . " - Uppl. ändrat från '" .round($curupp/1073741824, 2). "' GB till '$upp' GB av " . $CURUSER['username'] . ".\n" . $modcomment;
 
	$upp2 = $upp*1073741824; 
	$updateset[] = "uploaded = " . sqlesc($upp2);

	}
```

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

## #2 — Guldstrand, 2008-11-03T21:12Z

Ingen som vet?  :( 

EDIT: 

```php
if ((isset($_POST['upp'])) && (($upp = $_POST['upp']) != ($curupp = $user['uploaded'])))
```

..betyder väl att koden ska köras om $\_POST\[upp\] inte är likamed (=) $user\[uploaded\]? 

Tänker jag rätt?
Om ja, så verkar det inte fungera riktigt.
Databasen uppdateras ändå fast att jag **INTE** har ändrat $\_POST\[upp\].

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

## #3 — aasah, 2008-11-03T22:33Z

Hmm testa två saker:

1) Jobba inte med tilldelning och jämförelse i samma uttryck:

```php
 if (isset($_POST['upp']) && $_POST['upp'] != $user['uploaded']) { //Jämför
   $upp = $_POST['upp'];            //Tilldela
   $curupp = $user['uploaded'];    //Tilldela
   //osv...
}
```

Annars vet jag inte riktigt vad det är för värden du jämför. Ev skickar tilldelningen i sig ut ett värde för att indikera att det gick tex, och i så fall jämför du inte det du hade tänkt dig.

2) Undersök olikhet med !== inte !=. 
'' != 0 är falskt, medan '' !== 0 är sant eftersom den senare även jämför typer.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/175141-update-mysql
