Versio

insert querys

Overzicht Reageren

RvW Of toch niet

RvW Of toch niet

04/12/2008 19:02:00
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
<?php public function dbInsert($sTable, $aFieldList) {
        try {
            if (!($sTable and is_string($sTable))) {
                $sMsg = sprintf('Geen tabelnaam in %s. (param=%s:"%s")'
                    ,__METHOD__
                    ,gettype($sTable)
                    ,
$sTable);
                throw new PDOException($sMsg);
            }

            elseif (!($aFieldList and is_array($aFieldList))) {
                $sMsg = sprintf('Geen fieldlist in %s. (param=%s:"%s")'
                    ,__METHOD__
                    ,gettype($aFieldList)
                    ,
$aFieldList);
                throw new PDOException($sMsg);
            }

            
            // alle parameters in orde
            $this->sql = sprintf('insert into %s (%s) values (%s)'
                ,$sTable
                ,implode(',', array_keys($aFieldList))
                ,
':'.implode(',:', array_keys($aFieldList)));
            
            $stmt = parent::prepare($this->sql);
            $stmt->execute($aFieldList);
            $this->insertID    = parent::lastInsertId();
            return $this->insertID;
        }

        catch(PDOException $e) {
            $this->_dbError($e);
        }
    }
?>


de code hier boven gebruik ik om insert querys te doen.
maar nu krijg ik nog steeds en error als er een ' in me text zit.
maar ik gebruik toch echt eerst prepare.
Gewijzigd op 01/01/1970 01:00:00 door RvW Of toch niet
 
PHP hulp

PHP hulp

25/05/2012 04:50:17
Gesponsorde koppelingen:
 
Frank -

Frank -

04/12/2008 21:31:00
Quote Anchor link
En wat zou prepare() moeten doen? Wanneer ik een prepare gebruik, dan maak ik een query met parameters aan en ga vervolgens de bijbehorende waardes opgeven. Ik mis hier een functie die de waardes toevoegt, dat doe je nu wanneer je $this->sql aanmaakt. Deze sql is dan alleen niet goed, echo hem maar eens. Vervolgens kun je gaan preparen tot je een ons weegt, een foute query blijft een foute query.

Ik zie trouwens niet het nut van dynamische insert-queries, maar dat ligt wellicht meer aan mij dan aan het nut... ;)
 
RvW Of toch niet

RvW Of toch niet

04/12/2008 23:53:00
Quote Anchor link
zo je me mischien en duwtje in de goeie richting kunnen geven hoe ik deze functie goed werkend krijg.

over het nut valt idd te discussieren, maar ik vind prettig werken =)

edit:
volgens mij heb ik het al.
ben echt kippig moet gewoon de waardes $pdo->quote($waarde) doen......
Gewijzigd op 01/01/1970 01:00:00 door RvW Of toch niet
 



Overzicht Reageren

Get Adobe Flash player