PDO::ERRMODE_EXCEPTION] ); echo "Подлючено успешно!\n"; } catch (PDOException $e) { echo "Ошибка подключения:". $e->getMessage() . "\n"; } } public function __destruct() { echo "Подключение прервано!\n"; } public function insert(string $table, array $data) : void { $keys = array_keys($data); $sql = "INSERT INTO $table ("; foreach ($keys as $key) { $sql .= "$key,"; } $sql = substr_replace($sql, ")", -1); $sql .= " VALUES ("; foreach ($keys as $key) { $sql .= ":$key,"; } $sql = substr_replace($sql,"", -1); $stmt = $this->prepare($sql); foreach ($data as $key => $row) { try { $stmt->bindParam(":$key", $row[$key]); $stmt->execute(); } catch (PDOException $e) { echo "Ошибка запроса: " . $e->getMessage() . "\n"; } } } public function select(string $table) : array|null { $stmt = $this->prepare("SELECT * FROM $table"); try { $stmt->execute(); $array = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { echo "Ошибка запроса: " . $e->getMessage() . "\n"; } finally { return $array; } } public function selectWhere( string $table, array $atributes, array $filters ) : array|null { // Строим запрос $sql = "SELECT "; foreach ($atributes as $atribute) { $sql .= "$atribute,"; } $sql = substr_replace($sql," ", -1); $sql .= "FROM $table WHERE "; foreach ($filters as $key => $filter) { $sql .= "$key = :$key "; } $stmt = $this->prepare($sql); foreach ($filters as $key => $filter) { $stmt->bindParam(":$key", $filter); } // Выполняем try { $stmt->execute(); $array = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { echo "Ошибка запроса: " . $e->getMessage() . "\n"; } finally { return $array; } } }