Chcę się przerzucić na PDO i już pierwszy śmieszny problem. Byłem pewien, że z PDO łatwo mi pójdzie INSERT lub UPDATE na podstawie podanego arraya, robię więc coś takiego:
//$gDb to globalna zmienna trzymająca pdo, połączenie jest OK, tabela "stations" istnieje. $data['name'] = "test name"; $data['formatType'] = "1"; $data['resolutionType'] = "1"; $sqlPrep = $gDb->prepare( 'INSERT INTO stations (name, formatType, resolutionType) VALUES (?, ?, ?)'); $sqlPrep->execute($data);
I otrzymuję błąd: Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in ...
Czyżbym musiał to przekształcać na zwykłą, płaską tablicę, bez powiązanych nazw typu 'name'='coś tam'? Czy może da się inaczej?
W mojej klasie StationItem przechowuję po prostu zmienną $data która zawiera array typu "name"="coś tam", "formatType"="coś innego" i chciałbym bezproblemowo ją odczytywać z bazy danych i tam zapisywać.