Salut à tous
Je ne vois pas comment sécurise mes requètes avec POO.
J'ai une fonction save qui à en paramètre un tableau contenant les doonées à sauvegarder.
Visiblement le code PHP passe mal..
N’étant pas un expert avec POO j'ai suivi quelques tutos, visiblement il faut sécuriser les requêtes avec bindValue. Merci de votre future aide
Modifié par clementlanot (03 Jun 2012 - 21:04)
Je ne vois pas comment sécurise mes requètes avec POO.
J'ai une fonction save qui à en paramètre un tableau contenant les doonées à sauvegarder.
<?php
stdClass Object
(
[name] => ff
[slug] => ff
[id] =>
[content] =>
ff
[online] => 0
[type] => post
[created] => 2012-06-03 02:12:56
)
Visiblement le code PHP passe mal..
<?php
public function save($data){
$key = $this->primaryKey;
$fields = array();
$d = array();
foreach($data as $k=>$v){
if($k!=$this->primaryKey){
$fields[] = "$k=:$k";
$d[":$k"] = $v;
}elseif(!empty($v)){
$d[":$k"] = $v;
}
}
if(isset($data->$key) && !empty($data->$key)){
$sql = 'UPDATE '.$this->table.' SET '.implode(',',$fields).' WHERE '.$key.'=:'.$key;
$this->id = $data->$key;
$action = 'update';
} else{
$sql = 'INSERT INTO '.$this->table.' SET '.implode(',',$fields);
$action = 'insert';
}
$pre = $this->db->prepare($sql);
$pre->execute($d);
if($action == 'insert'){
$this->id = $this->db->lastInsertId();
}
}
N’étant pas un expert avec POO j'ai suivi quelques tutos, visiblement il faut sécuriser les requêtes avec bindValue. Merci de votre future aide
Modifié par clementlanot (03 Jun 2012 - 21:04)