Insert of update, gebeurt niks

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan Bergers

Stefan Bergers

27/10/2010 14:34:07
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
//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');
}
Gewijzigd op 27/10/2010 14:43:13 door Stefan Bergers
 
PHP hulp

PHP hulp

05/11/2024 07:50:31
 
- Dave -

- Dave -

27/10/2010 14:38:15
Quote Anchor link
Echo je queries eens en daarnaast heb je geen mooie foutafhandeling voor je queries.
Gewijzigd op 27/10/2010 15:08:39 door - Dave -
 
- Mark -

- Mark -

27/10/2010 14:38:31
Quote Anchor link
- 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/
Gewijzigd op 27/10/2010 14:39:35 door - Mark -
 
- SanThe -

- SanThe -

27/10/2010 15:04:23
Quote Anchor link
Lees bovenstaande handleiding eens goed door.
Alle drie de query's in het script zijn onjuist.
 
Milo S

Milo S

27/10/2010 16:54:13
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?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.
Gewijzigd op 27/10/2010 16:54:42 door Milo S
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.