SQL insert

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mitchel V

Mitchel V

13/07/2010 23:19:37
Quote Anchor link
Hallo.

ik heb een array met velden.
en ik wil die in een sql insert stoppen..
hoe kan ik dat doen?
 
PHP hulp

PHP hulp

03/07/2020 00:26:04
 
- SanThe -

- SanThe -

13/07/2010 23:33:11
Quote Anchor link
Zie www.phptuts.nl voor tutorials.
 
Mitchel V

Mitchel V

14/07/2010 00:36:59
Quote Anchor link
ik heb nu dit:
Maar hoe kan ik dan het beste de SQL insert toepassen?

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
<?php
$velden
= array('voornaam' => '1', 'tussenvoegsels' => '0', 'achternaam' => '1', 'adres' => '1', 'woonplaats' => '1', 'postcode' => '1', 'land' => '1', 'wachtwoord' => '1');

function
regristeren($velden){
    foreach ($velden as $value => $key) {
        if($key == 1 AND $_POST[$value] == ""){
            $error .= 'U bent verplicht om het veld <b>'.$value.'</b> in te vullen.<br>';
        }
else{
            echo $value.' is : '.$_POST[$value].' en key: '.$key.'<br>';
        }
    }

    if($error == ""){
        
    }
else{
        echo 'Het volgende is fout gegaan:<br>'.$error;
    }    
}


if($_SERVER['REQUEST_METHOD'] == 'POST'){
    echo regristeren($velden);
}


echo '<form method="post"><table>';
foreach ($velden as $value => $key) {
    if($value == "wachtwoord" OR $value == "password"){
        echo '<tr><td>'.ucfirst($value).'</td><td><input type="password" name="'.$value.'" value="'.$_POST[$value].'"></td></tr>';
    }
else{
        echo '<tr><td>'.ucfirst($value).'</td><td><input type="text" name="'.$value.'" value="'.$_POST[$value].'"></td></tr>';
    }
}

echo '<tr><td></td><td><input type="submit" value="Verzend"></td></tr>
</table></form>'
;
?>
 
Chris -

Chris -

14/07/2010 08:40:10
Quote Anchor link
Mark L had in het andere topic al gereageerd, maar omdat de TS hierin verder is gegaan verplaats ik dat bericht naar hier :-)[/modedit]

Mark L Schreef:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$sql
= "INSERT INTO (veld1, veld2) VALUES ('".mysql_real_escape_string($veld1)."', '".mysql_real_escape_string($veld2)."')";
if (mysql_query($sql)) {
    echo 'Values are inserted.';
}

else {
    echo 'Values are <b>NOT</b> inserted.';
}

?>


Ik kan niet veel informatie halen uit jouw post. Dit is de basis. Ik hoop dat je er wat aan hebt. Ik ben er van uitgegaan dat je:
1). een mySQL database gebruikt. (Anders kun je misschien beter naar PDO ofzo kijken.)
2). een database-connectie hebt gemaakt (hier staan zat tutorials/scripts over op internet.. mysql_connect();)

Voor meer SQL wijsheid: Hier een goede SQL tutorial
Gewijzigd op 14/07/2010 08:40:31 door Chris -
 
Mick ForSure

Mick ForSure

14/07/2010 08:56:10
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$rows
.= "$value, "
$vals .= "'$_POST[$value]', ";

INSERT INTO foo ($rows) VALUES($vals)
?>


moet je zelf alleen nog afvangen dat hij bij de laatste $rows dan wel $vals niet die , neer zet
Gewijzigd op 14/07/2010 08:56:29 door Mick ForSure
 
Mitchel V

Mitchel V

14/07/2010 16:53:19
Quote Anchor link
Hmm dat is zo. dus ik moet ze laten tellen en de laatste nummer geen , doen :)

bedankt!

ik heb het zo opgelost:
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
<?php
        $aantal
= count($velden);
        $i = 0;
        foreach ($velden as $value => $key) {
            if($i < $aantal - 1){
                $rows .= "$value, ";
                $vals .= "'$_POST[$value]', ";
            }
else{
                $rows .= "$value";
                $vals .= "'$_POST[$value]'";
            }

            $i ++;
        }

        $sql = "INSERT INTO foo ($rows) VALUES($vals)";
        echo $sql;
?>


waarom heb ik geen kleurtjes? :(
Gewijzigd op 14/07/2010 17:47:55 door Mitchel V
 
Mark L

Mark L

14/07/2010 17:35:10
Quote Anchor link
Niet dat het interessant is waarom je geen kleurtjes hebt, maar je hebt geen kleurtjes omdat je het vraagteken bent vergeten bij de php-openingstag.
Ook wil ik er op wijzen dat $rows .= "$value"; ook gewoon $rows .= $value; kan worden, zo ook $rows .= "'$_POST[$value]'" als $rows .= "'".$_POST[$value]."'";
't Is maar een suggestie.
 



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.