Hey,

Wat ik wil bereiken is dat er gekeken moet worden of er al een item in de database zit. Zo niet dan moet hij dit item toevoegen, zo wel dan moet hij het aantal updaten.

Als ik mijn variabelen echo zijn die niet leeg en kloppen ze gewoon.
De database is nu leeg, er wordt niks ingezet.

Mijn database heeft de tabel "items" met primary key itemnaam en itemaantal.

Mijn code:

//gegevens in items zetten
$r = mysql_query('SELECT itemnaam, itemaantal FROM items WHERE itemnaam = item1');
if(!$r) {
   mysql_query('INSERT INTO items (`itemnaam`, `itemaantal`) ("'.$item1.'","'.$item1aantal.'")');
}else
{
	$uitvoer = mysql_query($r) or die(mysql_error());
	$row = mysql_fetch_assoc($uitvoer);
	$item1aantal = $row['itemaantal'] + $item1aantal;
	mysql_query('UPDATE items SET itemaantal=$item1aantal WHERE itemnaam=$item1');
}
Echo je queries eens en daarnaast heb je geen mooie foutafhandeling voor je queries.
- zet je code eens tussen [/code.] [/.code] tags "zonder de punten" zodat het beter leesbaar is hier op het forum.

- sloop je bactics eens uit je sql dat is nergens voor nodig.
- die is geen mooie fout afhandeling.
- Je haalt niet overal je vars buiten je quotes.
- SQL injection waarschijnlijk mogelijk.
- berekeningen laten we de database doen niet van te voren in php.
- bouw eens foutafhandeling in zodat je ook kunt zien wat er gebeurt. Dat kun je nu dus niet.

Kijk eens op http://www.phptuts.nl/view/41/
Lees bovenstaande handleiding eens goed door.
Alle drie de query's in het script zijn onjuist.

<?php
# Gegevens selecteren
$qry = "";

# Query uitvoeren
if( $sql = mysql_query( $qry ) )
{
	# Als er items zijn
	if( mysql_num_rows( $sql ) > 0 )
	{
		# UPDATE Query
		$aQry = "";
	}
	else
	{
		# INSERT Query
		$aQry = "";
	}
	
	# Update / Insert query uitvoeren
	if( mysql_query( $aQry ) )
	{
		# Succesvol afgerond
		echo 'Uw actie is succesvol afgerond.';
	}
	else
	{
		# Fout in de query
		echo 'Er is een fout met de update / insert query opgetreden.';	
	}
}
else
{
	# Fout in de query
	echo 'Er is een fout met de query opgetreden.';	
}
?>


Als je deze opbouw aanhoud moet het goed komen... Aan jou om de query's goed te maken en te beveiligen tegen sql-injection.

Reageren