首页
学习
活动
专区
圈层
工具
发布

php mysql添加语句怎么写

在PHP中使用MySQL进行数据添加操作,通常会使用mysqliPDO扩展。以下是使用这两种方法进行数据添加的示例:

使用 mysqli 扩展

代码语言:txt
复制
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 插入语句
$sql = "INSERT INTO table_name (column1, column2, column3) VALUES ('value1', 'value2', 'value3')";

if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

// 关闭连接
$conn->close();
?>

使用 PDO 扩展

代码语言:txt
复制
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // 设置 PDO 错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 插入语句
    $sql = "INSERT INTO table_name (column1, column2, column3) VALUES (:value1, :value2, :value3)";
    $stmt = $conn->prepare($sql);
    $stmt->bindParam(':value1', $value1);
    $stmt->bindParam(':value2', $value2);
    $stmt->bindParam(':value3', $value3);

    // 假设以下变量已经定义并赋值
    $value1 = 'value1';
    $value2 = 'value2';
    $value3 = 'value3';

    $stmt->execute();

    echo "新记录插入成功";
} catch(PDOException $e) {
    echo "Error: " . $sql . "<br>" . $e->getMessage();
}

// 关闭连接
$conn = null;
?>

优势

  • mysqli:提供了面向对象和过程化的接口,性能较好,适合需要直接操作MySQL特性的场景。
  • PDO:提供了一个数据库访问抽象层,支持多种数据库,代码可移植性好,安全性高,适合需要跨数据库操作的应用。

应用场景

  • mysqli:当你需要使用MySQL特定的功能,或者对性能有较高要求时。
  • PDO:当你需要编写可移植的代码,或者希望使用预处理语句来防止SQL注入时。

常见问题及解决方法

  • 连接失败:检查数据库服务器地址、用户名、密码和数据库名称是否正确。
  • SQL错误:确保SQL语句语法正确,表名和列名无误。
  • SQL注入:使用预处理语句可以有效防止SQL注入攻击。

参考链接

请根据实际情况调整上述代码中的数据库连接信息和SQL语句。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的文章

领券