Kod
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /system/autoresponder.php on line 84
Skrypt, który go generuje. Nie mam zielonego pojęcia jak to rozwiązać... proszę o pomoc.
<? @include('engine.php'); class arEngine extends standart { public function getEmailList($table, $conditions) { $this->dbs(); foreach($conditions as $name => $value) { { $cond[][$name] = $value; } else { foreach($value as $element=>$val) { $cond[][$name] = $val; } } } $i=0; $j=0; $query = "SELECT * FROM ".$table." WHERE "; foreach($cond as $id => $name) { foreach($name as $name2 => $val); { $temp = $name2."=:".$name2; $queryElement[] = $temp; if($i>0) { { ++$j; } else { $j=0; } } else { } $i++; } } $j=0; for($i=0;$i<$queryElementSize;$i++) { if($queryElement[$i] != $queryElement[$i-1] && $queryElement[$i] != $queryElement[$i+1]) { $query .= $queryElement[$i]; if($i<($queryElementSize-1)) { $query .= " AND "; } } else { if($queryElement[$i] != $queryElement[$i-1]) { $query .= "("; } $query .= $queryElement[$i]; if( $queryElement[$i] == $queryElement[$i+1]) { $query .= $j." OR "; } else { $query .= $j.") "; if($queryElement[$i+1]) { $query .= "AND "; } } $j++; } } $stmt=$this->pdo->prepare($query); foreach($bind as $bindValue) { $stmt->bindValue($bindValue[0], $bindValue[1]); } $stmt -> execute(); while($row = $stmt -> fetch()) { foreach($row as $name->$value) { $list[$name] = $value; } } $stmt -> closeCursor(); { return $list; } else { return false; } } } 'cos2' => 'foo', 'cos3' => 'bar' ); $ar = new arEngine; $email_list = $ar -> getEmailList('konta', $conds); ?>
engine.php
class standart { ... public function dbs() { $db_user = "usuniete by mod"; $db_pass = "usuniete by mod"; $db_dsn = "usuniete by mod"; $this->pdo = new PDO($db_dsn, $db_user, $db_pass); } ... }