webForumDet fria alternativet

Slänga in NULL i databasen?

6 svar · 276 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001788 inlägg
#1

Hej hej

Jag har ett formulär med fält där en del ska in i dbfält där typen är integer, problemet är när man inte skriver in någe i formulärfälten. Istället för NULL så läggs då en nolla (0) in, det förstör liksom lite.
Jag skulle vilja att om formulärfältet inte innehåller någe så ska NULL läggas in i databasen istället...

Jag testade att göra denn funktionen:

	/////
	// funktion som kollar ifall en variabel är '', isåfall ersätt med NULL
	/////
		function chkNone($value)
		{
			if($value == '')
			{
				$value = NULL;
			}
			
			return $value;
		}

Och sedan anropar jag den i SQL-frågan med:

UPDATE ... , matchResultatHemmalag= '".chkNone($_REQUEST['matchResultatHemmalag'])."'...

Men det funkar alltså inte :(
Vad gör jag för fel? :q

/G :)

BrimbaMedlem sedan dec. 19995 875 inlägg
#2

Den kan väl aldrig bli Null om du matar in den som en sträng i databasen?

@ndersMedlem sedan juni 200032 969 inlägg
#3

Korrekt.

Ta alltså bort apostroferna runt nullvärdet.

UPDATE ... , matchResultatHemmalag= ".chkNone($_REQUEST['matchResultatHemmalag'])."...

Du får se till att funktionen chkNone lägger till apostrofer runt variabelvärdet om det är ett strängvärde.

Mvh,

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#4

Nu kan jag ju egentligen inte PHP, men så här borde man kunna skriva... :)

function chkNone($value)
{
	if($value == "")
		$value = "NULL";
	else
		$value = "'".$value."'";
	
	return $value;
}

Och sen:

"UPDATE ... , matchResultatHemmalag= ".chkNone($_REQUEST["matchResultatHemmalag"])."..."

Problem kommer tyvärr om man vill använda funktionen för att skicka in saker till fält med tal datatyp.
Då skulle man kunna skicka in till funktionen vad det är för typ. (int, varchar, datetime o.s.v.) :)

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#5

snabel! x(

Medans jag kluddar ihop funktionen så kommer du med svaret, skandal! :p ;)

@ndersMedlem sedan juni 200032 969 inlägg
#6

Ta inte så lång tid på dig då! ;)

Men, bara för att göra saker och ting klart; jag kan inte heller php. Men det Erik Juhlin har levererat är helt korrekt. :D

Mvh,

GrodanBollMedlem sedan sep. 2001788 inlägg
#7

Men aj aj aj vad slarvig jag har varit med sådant då. :r
Nu har jag minsann gått igenom alla skripten :)

Bugar o tackar för alla svaren :bire

/G

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)