/** * Prepare PDO statement * */ private function initQueryStatement(QueryConstructor $query) { $query->queryInit(); $prepStmt = $this->db->prepare($query->_query); foreach ($query->_bindVal as $name => $value) { $prepStmt->bindValue(":{$name}", $value); } return $prepStmt; }
/** * @param null | int $id - возможно, удаление будет не по ключу ключу (id===null) удаление всей таблицы * * @return null|resource - null при неудачном запросе к БД */ public function delete($id = null) { $query = QueryConstructor::getQueryStatic(Data::DELETE, null, null, $id); // echo '<br/>Создание запроса DELETE->QueryConstructor::getQueryStatic: <br/>'; // echo var_export($query).'<br/>'; //$this->_connection->Open(); // целое число - количество измененных строк return $this->_getResult($query); }
/** * Ввозвращает из конструктора запросов сформированный запрос по предоставленным данным * Для работы: вид комманды, значения полей, поля, значение ключа * * @param $_command - вид комманды: тип Data::INSERT | Data::INSERT | Data::UPDATE | Data::DELETE * @param null $_values - значения полей: массив занчений * @param null $_columns - поля: массив (или значение "*") для запроса SELECT * @param null $_ID - значение ключа: целое значение индекса (в данном случае) * * @return string */ public static function getQueryStatic($_command, $_values = null, $_columns = null, $_ID = null) { $obj = new QueryConstructor($_command, $_values, $_columns, $_ID); $q = $obj->getQuery(); return $q; }
* эти переменные обновит СУЩЕСТВУЮЩИЙ $_POST */ if (isset($_POST['command'])) { $str = '/*------------------- вход в разбор $_POST ---------------------*/' . PHP_EOL; File::append('test_file.txt', $str); File::append('test_file.txt', var_export($_POST, true)); File::append('test_file.txt', PHP_EOL); $_ = $_POST; $text_id = $_["text_id"] == "" ? null : $_["text_id"]; $text_title = $_["text_title"] == "" ? null : $_["text_title"]; $text_content = $_["text_content"] == "" ? null : $_["text_content"]; //$result = $_["result"]; - вычисляется компонентами $command = $_["command"]; // внутри - если была операция (кнопка SUBMIT), тогда выяснить генерацию запроса require_once "lib/components/QueryConstructor.php"; $query = new QueryConstructor($command, array($text_title, $text_content), null, $text_id); $result = $query->getQuery(); $str = '/*------------------- выход из разбора $_POST ------------------*/' . PHP_EOL; File::append('test_file.txt', $str); if (!$result) { $message = "ВНИМАНИЕ: не получен сгенерированный запрос!"; } } File::append('test_file.txt', 'ВВОД ВСЕХ ПЕРЕМЕННЫХ И ИХ ЗАНЧЕНИЙ:' . PHP_EOL); File::append('test_file.txt', ' $message = ' . $message . PHP_EOL); File::append('test_file.txt', ' $command = ' . $command . PHP_EOL); File::append('test_file.txt', ' $result = ' . $result . PHP_EOL); File::append('test_file.txt', ' $text_id = ' . $text_id . PHP_EOL); File::append('test_file.txt', ' $text_title = ' . $text_title . PHP_EOL); File::append('test_file.txt', ' $text_content = ' . $text_content . PHP_EOL); /*
public function delete($id = null) { $query = QueryConstructor::getQueryStatic(Data::DELETE, null, null, $id); return $this->_getResult($query); }