如何使用 PDO 连接进行增删改查?

How to CRUD using PDO Connection?

我想使用 PDO 连接进行 CRUD

我知道如何使用 msql_query() 创建插入更新和删除,但我不知道如何使用 PDO Connection 执行此操作。

下面是那个例子

class connection{

    public $cnn;

    public function __construct(){  

        $host = 'localhost';
        $db_name = "db_name";
        $username = "db_username";
        $password = "db_password";

        try {
            $this->cnn = new PDO("mysql:host={$host};dbname={$db_name}", $username, $password);         
        } catch (PDOException $e) {
            echo 'Connection failed: ' . $e->getMessage();
        }

    }


    public function select($query){ //this function is created for get data
        $result = $this->cnn->query($query);
        return $result->fetchAll(PDO::FETCH_ASSOC);
    }

    public function insert($query){ //this function is created for insert data. it will be return last inserted id.
        $this->cnn->exec($query);
        return $this->cnn->lastInsertId();      
    }

    public function update($query){ //this function is created for update data and it will be return effected rows (which are updated)
        return $this->cnn->exec($query);        
    }

    public function delete($query){ // this function is use to delete data.
        return $this->cnn->exec($query);        
    }
}

$action = new connection;

$result = $action->select("select * from table_name");
print_r($result);

$result = $action->insert("insert into table_name set column_1 = 'first_value', column_2='second_value'");
$result = $action->update("update table_name set column_1 = 'first_value', column_2='second_value' where id=1");
$result = $action->delete("delete from table_name where id=1");

也许这是一种更简单的方法。现在你唯一要做的就是调用函数。享受 (:

<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "database";

$pdo = new PDO("mysql:host=$host;dbname=$database", $user, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

function updateuser($pdo, $username, $password, $id){
    $sql = "UPDATE users SET username=?, password=? WHERE id=?";
    $stmt= $pdo->prepare($sql);
    $stmt->execute([$username, $password, $id]);
}

function deleteuser($pdo, $id){
  $sql = 'DELETE FROM users WHERE id = ?';
  $statement = $pdo->prepare($sql);
  $statement->execute([$id]);
}

function createuser($pdo, $username, $password){
    $sql = "INSERT INTO users (username, password) VALUES (?,?)";
    $stmt= $pdo->prepare($sql);
    $stmt->execute([$username, $password]);
}

function readuser($pdo, $id){
    $sql = "SELECT id, username FROM users WHERE id=?";
    $statement = $pdo->prepare($sql);
    $statement->execute([$id]);
    return $statement->fetchAll(PDO::FETCH_ASSOC);
}