📜  pdo mysql insert - SQL (1)

📅  最后修改于: 2023-12-03 15:03:33.031000             🧑  作者: Mango

PDO MySQL Insert - SQL

介绍

在 PHP 编程中,使用 PDO 和 MySQL 一起实现插入操作是非常常见的。通过 SQL INSERT INTO 语句可以将数据插入到 MySQL 数据库中。

代码示例

下面是一个简单的 PDO MySQL 插入数据的示例:

try {
    $pdo = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "INSERT INTO users (name, email, phone) VALUES (:name, :email, :phone)";
    $stmt = $pdo->prepare($sql);
    $stmt->bindParam(':name', $name, PDO::PARAM_STR);
    $stmt->bindParam(':email', $email, PDO::PARAM_STR);
    $stmt->bindParam(':phone', $phone, PDO::PARAM_STR);

    $name = 'Tom';
    $email = 'tom@example.com';
    $phone = '1234567890';
    $stmt->execute();

    echo "New record created successfully";
} catch(PDOException $e) {
    echo $e->getMessage();
}

以上代码使用 PDO 连接到 MySQL 数据库,然后使用 SQL INSERT INTO 语句向 users 表中插入一条新记录。通过 PDO 的预处理语句可以更加安全地插入数据,避免 SQL 注入等安全问题。

参数说明
PDO DSN 字符串

DSN(Data Source Name)字符串是用于 PDO 连接数据库的格式化字符串。DSN 包含了数据库的 host、port、dbname 等信息。如下面是一个常见的 MySQL DSN 字符串:

$dsn = 'mysql:host=localhost;dbname=mydb';
PDO::ATTR_ERRMODE

该属性设置 PDO 对象的错误报告模式。设置为 ERRMODE_EXCEPTION 可以让 PDO 抛出异常并在出错时停止执行。这通常是一个非常好的选择,因为可以使我们更加容易地进行调试和发现错误。

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
PDO::prepare()

使用 PDO 的 prepare() 方法可以准备 SQL 语句。通过 prepare() 方法,我们可以将参数绑定到 SQL 语句中,使得程序更加安全。

$sql = "INSERT INTO users (name, email, phone) VALUES (:name, :email, :phone)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $name, PDO::PARAM_STR);
$stmt->bindParam(':email', $email, PDO::PARAM_STR);
$stmt->bindParam(':phone', $phone, PDO::PARAM_STR);
PDOStatement::bindParam()

bindParam() 方法用于将变量与参数进行绑定。该方法的第一个参数是要绑定的参数的名称,第二个参数是变量的名称,第三个参数是变量的数据类型。

$stmt->bindParam(':name', $name, PDO::PARAM_STR);
$stmt->bindParam(':email', $email, PDO::PARAM_STR);
$stmt->bindParam(':phone', $phone, PDO::PARAM_STR);
PDOStatement::execute()

最后使用 PDOStatement 的 execute() 方法来执行 SQL 语句,将数据插入到数据库中。

$stmt->execute();
总结

使用 PDO 和 SQL INSERT INTO 语句可以将数据插入到 MySQL 数据库中。通过 PDO 的预处理语句可以更加安全地插入数据,避免 SQL 注入等安全问题。