Naspisalem parser, ktory w instalatorze pluginow mieli plik .sql, rozdzielajac zapytania i wysylajac je do PDO->exec(). Wczoraj mialem maly problem, poniewaz skrypt wysypywal sie na jednym z zapytan, a mianowicie:
INSERT INTO tblplugins (name, active) VALUES ("news", true)
Twierdzac, ze kolumna 'news' nie istnieje.
Po zmianie na:
INSERT INTO tblplugins (name, active) VALUES ('news', true)
Dziala poprawnie.
Czy to normalne zachowanie PDO? Czy tez moze zalezy to od tego, jak sam parser podaje te zapytania?
<?php $this->runSQL("INSERT INTO tblplugins (name, active) VALUES ('".$this->sName."', true)"); // ver1: poprawna $this->runSQL('INSERT INTO tblplugins (name, active) VALUES (''.$this->sName.'', true)'); //ver2: poprawna $this->runSQL('INSERT INTO tblplugins (name, active) VALUES ("'.$this->sName.", true)"); // ver3: wspomniany blad ?>
Metoda runSQL jest prostacka:
<?php public function runSQL($sQuery) { $this->sql->exec($sQuery); } ?>