Witam,
mam problem. Wywala mi errora gdy (tak sądzę) próbuję zbindować parametry w takim oto sobie kodzie:
public function select($table,$where = NULL,$add = NULL,$how = '*'){
if($where != NULL) $where = 'WHERE '.$where;
$select = $this->db->prepare('SELECT :how FROM :table :where :add');
$select->bindParam(':how', $how);
$select->bindParam(':table', $table);
$select->bindParam(':where', $where);
$select->bindParam(':add', $add);
$select->execute();
}
public function insert( $table, $value){
$i = 1;
$ij = 0;
$j = null;
foreach($key as $keys){
$j++;
}
$values = '';
foreach($key as $keyss){
$values .= $values . $keyss . ' = ?, ';
}
$values = substr( $values, 0
, -2
);
$insert = $this->db->prepare('INSERT INTO '.$table.' SET '.$values);
while($i < $j){
$insert->bindParam($i,$value[$ij]);
$i++;
$ij++;
}
$insert->execute();
}
Dokładny kod błędu:
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in (Jakaś ścieżka) on line 85
Nie ma co owijać w bawełnę, powiem że nie wiem zupełnie co ten błąd oznacza.
Myślę że dobrze zbindowałem wartości ale skoro PHP wywala błąd to coś jest nie tak...
Próbowałem różnych metod jednak żadna z "moich" nie działa...
Prosiłbym o pomoc.
Dziękuję za wszystkie odpowiedzi