corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-22 b1d4d1bd112433be41ff16faa522e75733bbae02
(parte 126)
2 files modified
19 ■■■■ changed files
src/App/Controllers/products.php 2 ●●● patch | view | raw | blame | history
src/Framework/Model.php 17 ●●●● patch | view | raw | blame | history
src/App/Controllers/products.php
@@ -40,7 +40,7 @@
    public function create() {
        $data = [
            "name" => $_POST["name"],
            "description" => $_POST["description"]
            "description" => empty($_POST["description"]) ? null : $_POST["description"]
        ];
        
        var_dump($this->model->insert($data));
src/Framework/Model.php
@@ -40,12 +40,23 @@
            $placeholders = implode(", ", array_fill(0, count($data), "?"));
            $sql = "INSERT INTO {$this->getTable()} ($columns) VALUES ($placeholders)";
            exit($sql);
            $conn = $this->database->getConnection();
            $stmt = $conn->prepare($sql);
            $stmt->bindValue(1, $data["name"], PDO::PARAM_STR);
            $stmt->bindValue(2, $data["description"], PDO::PARAM_STR);
            $i = 1;
            foreach ($data as $value) {
                $type = match(gettype($value)) {
                    "boolean" => PDO::PARAM_BOOL,
                    "integer"=> PDO::PARAM_INT,
                    "NULL"=> PDO::PARAM_NULL,
                    default => PDO::PARAM_STR
                };
                $stmt->bindValue($i++, $value, PDO::PARAM_STR);
            }
            return $stmt->execute();
        }